VS连接realsense D435i摄像头(4)——使用PCL绘制点云图
本篇主要是在使用PCL绘制点云过程中遇到的问题,初始化参照该博客。
- 电脑系统:win10 x64
- Visual Studio 2019
- Realsense D435i摄像头
- 使用语言:C,C++
- 所用到的内容:
realsense、opencv、PCL-1.11.0
问题九:每次#include <pcl/visualization/cloud_viewer.h>
后,程序均会报错
解决方案:按照错误信息修改源码内部的参数就好了,如果担心改错了,可以先进行备份。
问题十:有两种画点云的方法,简单的使用Cloudviewer可以画出来,但是如果使用PCLVisualizer则会出现打开的窗口未响应的情况。
解决方案:将viewer->spinOnce(0.0000000000001);
加到while (!viewer->wasStopped()) 的循环中就可以了。
问题十一:编译没问题,但是运行程序却会出现错误。
解决方案:关于这个网上有很多解答,我这里只补充一下我出现的两个小问题。一是摄像头与笔记本之间连接出了问题,导致程序无法调用摄像头。因此可以检查一下摄像头的接口是否插紧,数据线是否损坏,还可以增加一个检测摄像头的代码进行识别。二是程序内部某处索引超过数据维度。由于我之前使用的都是matlab进行编程,矩阵和向量的index都是从1开始,而C和C++都是从0开始,因此出现了这个问题。如果是这个原因,可以检查一下各个变量的索引index是否超出了该变量的维度。
问题十二:所有问题都解决了,但是画出来的点云非常丑陋,完全看不出是摄像头前拍到的我。
解决方案:在问题七中我们提到摄像头拍摄的前几帧图像非常暗,在这里也是一样的,由于前几帧拍摄不清晰,因此也无法有效的识别和提取点云。对于该问题可以像问题七一样解决,选取第三十帧及往后就可以了。