编译迭代最近点算法时遇到误差

时间:2015-07-08 10:09:58

标签: c++ boost point-cloud-library

我正在尝试从这个网站编译程序。

examples page)!

但在编译过程中我遇到了以下错误。

  

'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>() );

我不知道如何纠正上述错误。请有人帮我解决上述错误。

由于

1 个答案:

答案 0 :(得分:0)

您已为两个模板参数模仿IterativeClosestPoint类型上的pcl::PointXYZ对象,以便功能setInputCloudsetInputTarget,其参数类型由类模板确定,期望pcl::PointXYZ的对象作为他们的论点。但是,您试图将pcl::PointXYZRGB传递给该对象。而是在pcl::PointXYZRGB上为源和目标模拟对象。

IterativeClosestPoint类的API:

http://docs.pointclouds.org/1.7.1/classpcl_1_1_iterative_closest_point.html