如何在点云中找到任何物体的角点,找到角点之间的距离,单位为英寸/厘米/米?

时间:2015-10-27 06:49:04

标签: android point-cloud-library google-project-tango

我们正在创建一个应用程序,用于使用Project tango Device计算任何窗口/门的测量值。为此,我们需要遵循以下步骤:
1.捕获图像(普通2D图像)。存储此图像。
2.捕获图像时捕获点云。将点云存储在PCD文件中 3.通过在图像上绘制一个矩形,指示窗口/门在画布上显示的图像中的位置。见图。
4.在绘制矩形时,使用存储的PointCloud数据自动计算窗口/门的宽度和高度。

我们设法做了1,2和3.

对于4,我们有两个问题:
A.确定PointCloud中与绘制的矩形相对应的点,即窗口/门。我们认为这涉及确定窗户/门所在的平面,例如,假设沿着深度(即从摄像机到物体)的轴是Z轴,那么我们需要确定Z的值,其对应于窗口/门在PointCloud中所在的平面。如何才能做到这一点?请有人建议一种可行且有效的方法吗?

B中。一旦我们确定对应于绘制的矩形的子PointCloud,找到沿X&的最小和最大点之间的距离。 Y轴分别确定宽度和高度。如何才能做到这一点?

感谢您提供有关演示代码或应用参考的任何帮助。enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

找到点云的轮廓。使用迭代ransac将线条拟合到轮廓。相交线并获得角点

对于3d,计算曲面法线。然后计算曲率,该曲率是曲面法线的微分。这些是角点。

PCL(Point Cloud Library)具有所有这些功能。