如何在点云中找到任何对象的角点并以英寸/厘米/米为单位找到角点之间的距离?
Posted
技术标签:
【中文标题】如何在点云中找到任何对象的角点并以英寸/厘米/米为单位找到角点之间的距离?【英文标题】:How to find corner points of any object in point cloud and find distance between corner points in inch/cm/m? 【发布时间】:2015-10-27 06:49:03 【问题描述】:我们正在创建一个应用程序,用于使用 Project tango Device 计算任何窗户/门的测量值。为此,我们需要遵循以下提到的步骤: 1. 捕获图像(普通 2D 图像)。存储此图像。 2. 抓图的同时也抓点云。将点云存储在 PCD 文件中。 3. 通过在图像上绘制一个矩形来指示窗口/门在画布上显示的图像中的位置。见图片。 4. 绘制矩形时,使用存储的 PointCloud 数据自动计算窗户/门的宽度和高度。
我们已经成功完成了 1、2 和 3。
对于 4,我们有两个问题: A. 确定点云中对应绘制矩形的点,即窗/门。我们认为这涉及确定窗户/门所在的平面,例如假设沿深度的轴(即从相机到对象)是 Z 轴,那么我们需要确定与 PointCloud 中窗户/门所在平面相对应的 Z 值。如何才能做到这一点?请问有人可以提出一种可行且有效的方法吗?
B.一旦我们确定了与绘制的矩形相对应的子点云,找到沿 X 和 Y 轴的最小和最大点之间的距离,分别确定宽度和高度。如何才能做到这一点?
感谢任何有关演示代码或应用参考的帮助。enter image description here
enter image description here
【问题讨论】:
【参考方案1】:找到点云的轮廓。使用迭代 ransac 将线条拟合到轮廓。相交线得到角点
对于 3d,计算表面法线。然后计算曲率,它是表面法线的微分。这些是角点。
PCL(点云库)具备所有这些功能。
【讨论】:
以上是关于如何在点云中找到任何对象的角点并以英寸/厘米/米为单位找到角点之间的距离?的主要内容,如果未能解决你的问题,请参考以下文章