我试图在pcl库中使用icp算法,并且几乎没有问题:
我应该像这样生成icp:
pcl::IterativeClosestPoint <``pcl::PointXYZ, pcl::PointXYZ> icp;
或
pcl::PointXYZRGB.
最后的icp得分为0.
我可以做些什么来帮助它成功吗?
答案 0 :(得分:0)
您应该使用上面提到的第一个选项。它创建迭代关闭点的实例。要保存生成的云,您应该使用类似
的内容pcl :: PointCloud Final;
得分为0表示算法已收敛。
答案 1 :(得分:-1)
http://pointclouds.org/documentation/tutorials/iterative_closest_point.php
pcl::IterativeClosestPoint<pcl::PointXYZ, pcl::PointXYZ> icp;
icp.setInputCloud(cloud_in);
icp.setInputTarget(cloud_out);
低健身分数,如0,是一个很好的结果,是的。这可以解释为您尝试适合的两个点云之间的剩余距离。
2.1。低适应度分数并不一定意味着icp收敛(如果健康分数为0,但显然确实如此,因为它是最佳的),对于任何其他非最佳健身分数,您可以检查icp是否与此线路融合代码:
icp.hasConverged() = 1 (true)