2013-03-07 155 views
3

我在3D中创建了使矩形的2或3边形成点的点。我如何计算立方体角落的坐标?可能吗?在三维坐标系中查找矩形中的角度点

pcl pcl pcl pcl

更新时间:https://github.com/CPIGroup/3d-Camera-scanDimensions

+4

你能否重新解释这个问题?我不明白你的意思是“角度点”。你是指顶点? – 2013-03-07 17:40:33

+1

你的意思是什么角度的点?点之间的角度,点法线? – meyumer 2013-03-07 17:48:28

+6

如果我理解正确,他有一组点都在一个立方体的两侧或三侧。他需要计算立方体角落的坐标(俄语中的“角度”和“角落”是同一个词)。 – user2116939 2013-03-07 17:57:12

回答

1

这只是一个想法,没有一个行之有效的方法。

首先找到飞机。随机选择3个点,找到穿过它们的平面,对4个参数进行归一化。重复1000次左右。您将以1000个4元组数字结束。使用clustering analysis方法之一来查找2或3组非常接近的4元组。平均每个组。这些将大约是你盒子两侧的飞机。

现在让他们更精确。对于每个平面,找到所有靠近它的点但不能靠近其他平面(对于某些“关闭”值,也许可以使用聚类方法找到)。对于每个这样的点组,使用least squares找到最合适的平面。

如果你有三架飞机,很棒;相交它们,你有一个顶点和三条边。对于两架飞机,你只有一个边缘。无论哪种方式,你现在可以尝试找到其他边缘。为了简单起见,将您的平面视为XY平面,将已知的边看作X轴。你现在需要找到最左边的(最右边的)垂直线,这样大多数点都在左边(右边)。将所有点投影到X轴。您现在有一个原始问题的一维情况:在某个时间间隔内有很多随机点,找到时间间隔。再次使用聚类方法。

1

我对此没有超级经验,但可能您可以使用RANSAC? 似乎有在plane detection from pointclouds using RANSAC

多篇论文,你可能也想看看在点云库(PCL)。它是一个非常了不起的工程有许多有用的功能还包括planar segmentation

只要飞机被检测到,它应该是一个找到边缘/角落应该是更简单的问题。

相关问题