如何防止平面在xz和yz轴上的平面拟合



我有这个代码:

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角度,我已经在做了。我感谢你的帮助!

我仔细查看了PCL文档,找到了答案。它们在文档中没有充分说明,但只有一些模型受到setAxis()和setEpsAngle()的影响。对于我的应用程序,该模型是SACMODEL_PALLEL_PLANE。你可以在这里找到其他人:http://docs.pointclouds.org/1.7.0/group__sample__consensus.html.

最新更新