前期准备:在ubuntu16.04安装编译好了opencv、eigen、及PCL(根据源码安装)。
采用深度相机RGB-D。
参考方法为:(1)视觉slam十四讲第5讲,代码见https://github.com/gaoxiang12/slambook
(2)高博博客:https://www.cnblogs.com/gaoxiang12/p/4652478.html
(第二讲,从图像到点云)
在跑(1)示例代码时,出现提示:point cloud size = 0 terminate called after throwing an instance of 'pcl::IOException'
what(): : [pcl::PCDWriter::writeASCII] Input point cloud has no data!
首先查看是否对智能指针进行了初始化。在PCL中一定要初始化!初始化!初始化!已有:
PointCloud::Ptr cloud (new PointCloud);
依然会报此错误,出现问题的原因是对空指针进行操作,分析之后发现,没有对图像进行处理,所以没有对点云赋值,点云指针就是空指针。解决办法,是在包含data文件夹路径下运行程序。(在ch5-jionMap,把color与depth两个文件夹copy到cmake-buiild-debu