1

我有这个代码:

SACSegmentation<PointXYZ> seg;
seg.setAxis(Vector3f(0, 0, 1));
seg.setEpsAngle(0.5 * M_PI / 180.0);
seg.setModelType(SACMODEL_PLANE);
seg.setMethodType(SAC_RANSAC);
seg.setDistanceThreshold(0.2);
// then set the input cloud and filter..

轴和 epsAngle 似乎什么都不做——当传感器足够接近墙壁时,点云仍然会拾取墙壁,以至于墙壁的点比地面多。我从 xyz 点数据显式构建点云,因此可能未设置诸如 sensor_origin_ 和 sensor_orientation_ 之类的 PointCloud 成员变量(除非 PointCloud 将它们默认为某些东西)。这可能是我问题的根源吗?还是我做错了什么?

我在这个问题上看到的其他帖子都建议设置 eps 角度,我已经在这样做了。我感谢您的帮助!

4

1 回答 1

2

我浏览了 PCL 文档并找到了答案。它们在文档中并没有说得很清楚,但只有一些模型受到 setAxis() 和 setEpsAngle() 的影响。对于我的应用程序,该模型是 SACMODEL_PARALLEL_PLANE。你可以在这里找到其他人:http: //docs.pointclouds.org/1.7.0/group__sample__consensus.html

于 2016-04-10T22:52:14.557 回答