pcl小分享
背景:在使用ISSKeypoint3D求取点云的keypoint的时候,编译pcl程序,竟然提示源码中错误,逆天了!其实还是自己失误!
解决办法:
pcl的类都是类模板机制,传入的模板类型很关键!
从iss_3d.h 源码中可以看出,ISSKeyPoint3D模板类传入的参数是PointT类型,我的代码中传入的NormalType类型,所以报错了,而且这个提示错很荒谬!模板类编程传入类型很关键!否则报错,简直不知所云!
修改如下:
NormalType =》PointType
总结一下:
PointT、PointInT 、PointOutT 代表点云类型,的数据
PointCloud、PointCloudIn、PointCloudOut 代表点云容器,容纳点云的数据类型
PointCloud::Ptr、PointCloudIn::ConstPtr 代表指针点云容器,指针类型
pointNT 代表点云法线
似乎PCL1.7和PCL1.8版本的各个模块有一些调整以及函数名称的大小写都有一定的变化,所以在使用的过程中,会经常遇到错误!不过都是小错误可以对着API改过来即可。
感谢王冲同学的分享,同时也鼓励大家一起分享!
赞 (0)