c++ - PCL RANSAC 找不到 LINE 模型的解决方案
问题描述
我正在尝试从点云拟合线模型。我正在使用 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 论坛似乎还没有活跃。很抱歉,如果这不应该在这里。
感谢任何花时间帮助我的人!
解决方案
推荐阅读
- swift - 添加加载更多动画(如 Facebook 新闻)的最佳方式?
- python - 如何将 pyspark 数据框列转换为 numpy 数组
- c - 为什么 fgetws 在 _O_U16TEXT 模式下不能正常工作?
- linux - 交叉编译 gst-rtsp-server 时出现 GLIBC 错误
- python - 如何在 Tkinter 中的 matplotlib 子图上获取按钮?
- api - Power bi Api Reresh 与 service principale 还是?
- android - 如何从另一个类的 Recycler View 中删除项目?
- angular - `“主”线程上发生未捕获的异常`新应用程序发生错误
- hibernate - 使用 ManyToMany 进行 LazyLoading 作为 EAGER
- yii2-advanced-app - How to use if condition in find() query?