PCL RANSAC 未找到 LINE 模型的解决方案

问题描述 投票:0回答:1

我正在尝试从点云拟合线模型。我正在使用 pcl 1.9.1。我面临这个错误:

[pcl::RandomSampleConsensus::computeModel] 无法选择样本 [pcl::SACSegmentation::segment] 对模型进行分段时出错!没有找到解决办法。

我想使用的点云是这样的: https://drive.google.com/file/d/1qLrVjplmqT_SdFUXaZCYAkWHtYVEoTKR/view?usp=sharing

我使用的代码几乎与教程的代码完全相同(https://pcl.readthedocs.io/projects/tutorials/en/latest/planar_segmentation.html#planar-segmentation):

pcl::ModelCoefficients::Ptr coefficients (new pcl::ModelCoefficients);
pcl::PointIndices::Ptr inliers (new pcl::PointIndices);
// Create the segmentation object
pcl::SACSegmentation<pcl::PointXYZ> seg;
// Optional
seg.setOptimizeCoefficients (true);
// Mandatory
seg.setModelType (pcl::SACMODEL_LINE);
seg.setMethodType (pcl::SAC_RANSAC);
seg.setDistanceThreshold (0.1);

seg.setInputCloud (m_Lcloud);
seg.segment (*inliers, *coefficients);

唯一的区别是我想使用线模型而不是平面模型。我不知道发生了什么,因为我看到有几个人在做同样的事情,但没有遇到这个问题。我没有在任何主题的上下文中看到错误。

我的点云不是那么大(比如 300 点),但我不认为这是问题所在。我已经尝试使其更大(只是添加对称或类似的东西)但同样的错误。

门槛也不是问题(我认为)。我尝试了很多,通常使用 0.1 应该很好。

也许是我的 PCL 版本有问题。如果有最新版本的人可以尝试,我将不胜感激。


我在这里发帖是因为 pcl 论坛似乎不再活跃。很抱歉,如果这不应该在这里。

感谢任何花时间帮助我的人!

c++ line point-cloud-library point-clouds ransac
1个回答
0
投票

我有同样的问题,我可以使用PCL 1.14解决它,但我真的需要知道如何使用PCL 1.9解决它,你现在解决了吗?

© www.soinside.com 2019 - 2024. All rights reserved.