视觉SLAM
文章平均质量分 77
王勇21633012
这个作者很懒,什么都没留下…
展开
-
视觉SLAM基本原理(1)—— 欧氏变换与旋转向量
本人才疏学浅,内容难免有疏漏与不足,敬请您谅解与指正.向量空间1、概念 对于向量空间\(\mathbb{V}\)一组向量\({\boldsymbol \alpha}_{1}, {\boldsymbol \alpha}_{2}…{\boldsymbol \alpha}_{r}\):取自\(\mathbb{V}\);线性无关;\(\mathbb{V}\)内任意向量a均可由其线性表出. 则\...原创 2018-04-30 20:45:57 · 5196 阅读 · 1 评论 -
PCL库学习笔记——KdTree查找
本篇主要演示使用KdTree查找特定点、位置的K近邻或最近邻,以及用户指定半径范围内查找所有近邻,并计算出距离。KdTree是计算机科学中用来组织K维数据点集的数据结构。类似二叉树。在三位点云中主要用的是三维的KdTree,这种数据结构能提供快速的查找近邻算法。代码:#include <pcl/point_cloud.h>#include <pcl/kdtree/kdtree_...原创 2018-07-09 16:25:38 · 8607 阅读 · 0 评论 -
PCL库学习笔记——连接两个点云
本篇将展示如何串联两个不同点云的点。此处强加的约束是两个数据集中的字段类型和数量必须相等。后面还将展示如何连接两个不同点云的字段 (例如, 维度)。此处强加的约束是两个数据集中的点数必须相等。#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>int mai...原创 2018-07-09 15:47:44 · 2594 阅读 · 0 评论 -
PCL库学习笔记——从PCD文件读、写点云数据
1、读取PCD文件#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>intmain (int argc, char** argv){ // 定义一个 pcl::PointXYZ 类型的点云共享指针,并初始化 pcl::PointCloud<p...原创 2018-07-09 14:50:07 · 2339 阅读 · 0 评论 -
PCL库学习笔记——从深度图提取NARF关键点
下面代码演示了如何从深度图中提取我们感兴趣的NARF关键点。#include <iostream>#include <boost/thread/thread.hpp>#include <pcl/range_image/range_image.h>#include <pcl/io/pcd_io.h>#include <pcl/visua...原创 2018-07-09 14:26:44 · 2511 阅读 · 6 评论 -
PCL库学习笔记——使用变换矩阵变换点云
下面的代码通过两种方式生成了变换矩阵,并执行了变换及可视化。#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/io/ply_io.h>#include <pcl/point_cloud.h>#include <pcl/console/parse.h>#incl...原创 2018-07-09 13:15:10 · 25699 阅读 · 8 评论 -
PCL库学习笔记——入门、基本的数据结构
PCL中的基本的数据类型是点云(PointCloud),是一个C++类。它包括以下成员:1、width(int) 对于有组织的点云数据,它代表数据集的宽度; 对于无组织的点云数据,它代表该点云中所有点的个数。 有组织点云(organized point cloud),是类似图像矩阵的有组织的点云数据,被拆分为行列,它能够快速的根...原创 2018-07-09 11:44:18 · 10396 阅读 · 0 评论 -
ArchLinux上使用Kinect V2——安装libfreenect2(附OpenNI2安装方法)
1.安装依赖见下面列表:(引自:https://github.com/OpenKinect/libfreenect2)Requirements for optional featuresOpenGL depth processing: OpenGL 3.1 (Windows, Linux, Mac OS X). OpenGL ES is not supported at the moment.Op...原创 2018-07-02 15:03:45 · 804 阅读 · 0 评论 -
关于使用新版Sophus(2018年6月github版本)的使用
1.头文件.h 修改为 .hpp .hpp 是将头文件 源文件写在一起的文件。2.新本是模板类,定义时需要指定类型Sophus::SO3 SO3_R(R); 换成:Sophus::SO3<double> SO3_R(R); 打印需要log()函数:cout<<"SO(3) from matrix: "<<SO3_R<<endl;...原创 2018-07-09 00:17:22 · 4504 阅读 · 1 评论 -
最大似然估计,最大后验估计
条件概率: $$P(A|B)={P(AB)\over P(B)}$$ 这个公式看下面韦恩图就懂了:在事件\(B\)发生的条件下发生事件\(A\)的概率\(P(A|B)\),就是\(AB\)同时发生的概率\(P(AB)\),比\(B\)发生的概率\(P(B)\). 贝叶斯公式:$$P(A|B) = \frac{P(B|A)P(A)}{P(B)}$$ 形式上很明显,这个公式是条...原创 2018-05-03 14:50:40 · 978 阅读 · 0 评论 -
坐标系变换、相机模型以及色彩空间与深度空间的映射关系
首先,声明一些相关的定义:所有坐标系均使用标准的右手笛卡尔坐标系(基的模为1,坐标轴两两正交);下标"1","2"分别代表相机-深度坐标系、相机-色彩坐标系的量,世界坐标系下的量无下标,下标"21"代表色彩坐标系向深度坐标系的转换量,反过来也有类似的定义;P代表点位置,R代表旋转矩阵,T代表平移量,X、Y、Z代表点坐标,u、v代表像素坐标,1.相机-世界坐标系变换$$P_1=R_1P+T_1$$这...原创 2018-07-08 23:58:26 · 1086 阅读 · 0 评论