我正在尝试从这个网站编译程序。
但在编译过程中我遇到了以下错误。
'pcl::Registration<PointSource,PointTarget,Scalar>::setInputCloud' : cannot convert parameter 1 from 'boost::shared_ptr<T>' to 'const boost::shared_ptr<T> &' \sample\kinect2_grabber.h 424 1 Sample
得到错误的代码如下: -
icp.setInputCloud (cloud);
icp.setInputTarget (cloud);
我已经在函数convertRGBDepthToPointXYZRGB
中声明了这个云
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud( new pcl::PointCloud<pcl::PointXYZRGB>() );
我不知道如何纠正上述错误。请有人帮我解决上述错误。
由于
答案 0 :(得分:0)
您已为两个模板参数模仿IterativeClosestPoint
类型上的pcl::PointXYZ
对象,以便功能setInputCloud
和setInputTarget
,其参数类型由类模板确定,期望pcl::PointXYZ
的对象作为他们的论点。但是,您试图将pcl::PointXYZRGB
传递给该对象。而是在pcl::PointXYZRGB
上为源和目标模拟对象。
IterativeClosestPoint
类的API:
http://docs.pointclouds.org/1.7.1/classpcl_1_1_iterative_closest_point.html