【PCL】Failed to find match for field 'intensity'.利用点云强度信息

 点云的基本类型:

pcl::PointCloud<pcl::PointXYZ>
pcl::PointCloud<pcl::PointXYZI>
pcl::PointCloud<pcl::PointXYZRGBA>
等等.更多的看 这里.第二种类型包含点的强度信息,也就是激光的反射率.第一种没有,只有xyz坐标信息.所以用第二种可以将点云保存成带点的强度的PCD文件,或者订阅ROS点云消息后转化为带强度的普通点云类型
pcl::PointCloud<pcl::PointXYZI>

一开始傻傻地把点云保存成普通型pcd,就报了标题中的错误.(顺便提一句,谷歌这个错误时,有个答案说的是rosmsg和pcl的格式中对field中intensity的称呼不一样,ros中叫intensities,pcl中叫intensity,我亲自查了一下,其实就是一样的.可能答案久远,开发者已经把这个bug修复了吧.)

值得一提的是,好像这些点越红代表强度越低,而不是直觉上的越高.

这是我保存的一个pcd文件,pcl_viewer it 就是这个样子滴:


猜你喜欢

转载自blog.csdn.net/ethan_guo/article/details/80695942