确定点是否在PCL的网格表面上方

时间:2016-05-24 21:11:06

标签: c++11 3d point-cloud-library

如何判断一个点是否在PCL中的不规则网格/表面之上?

我有一个点云,我想转换为表面/网格(不确定我应该使用哪个术语。)将其视为不规则的地平面。例如:

Example of random surface

这只是表明表面可以是随机的,甚至在数据不可用的地方也有洞。

现在,我有另一个点云,我希望能够过滤掉这个表面下的所有点。

我将点数转换为曲面的方式是遵循Fast triangulation of unordered point clouds tutorial

如果我可以在不将点转换为曲面的情况下执行此操作,那也会很棒。我是新手,所以我很容易想象我这一切都错了。

当我尝试使用直点云时,稀疏性成为一个大问题。例如,在下图中,我生成了一个密集的点表面,并过滤其他云,使用getPointsInBox()(如建议的here)在点下搜索。但正如你所看到的,它失败了,稀疏性(蓝点用黑色圈出来。)

如果我可以从原始点创建一个或多或少的连续网格点网格,getPointsInBox()方法可以很好地工作,但我也无法弄清楚如何做到这一点

Denser point cloud showing a surface

0 个答案:

没有答案