在PCL中检测物体下的地板

时间:2014-01-04 22:13:37

标签: point-cloud-library

我对PCL很新。 我试图检测一个物体下面的地板,以检查物体是否翻倒或是否水平放置。

我检查了API并找到了方法:pcl::PointCloud< T >::at

似乎我可以使用at来检测点的Z值。这是对的吗?

如果是,我很困惑,它应该如何运作。在数学上,一个点是无限小的。在我的扫描中,我看到点密度越小,它们在Z方向上越明显。 会不会总是回归一点?该值是最近物理点的平均值吗?

1 个答案:

答案 0 :(得分:1)

documentation中引用,pcl::PointCloud< T >::at返回给定列和行信息(大致为X,Y)的单个点的信息(坐标加上其他数据,具体取决于点格式)深度图像)。因此,此方法仅适用于有组织的云。

不幸的是,并非每一点都是有效的观点。除非您过滤点云,否则您可能会发现无效的测量值(具有NaN组件的点)。这很正常,只需使用过滤器丢弃这些点。你的直觉是正确的,离传感器越远,点密度越小。

至于您要实现的目标,您应该查看PCL网站上的planar segmentation tutorialTable Object Detector software by Nicolas Burrus。后者提取一个平面,并在其上面提取物体簇。