如何在看起来几乎像矩形的点云中检测四边形?如何设置标准(即方向、大小等)以获取下图中的形状?

如何在看起来几乎像矩形的点云中检测四边形?如何设置标准(即方向、大小等)以获取下图中的形状?

有一种可能的解决方案大致为,其中是点数。
2.1 确定其他两个点可能位于的两个区域(基于矩形标准)
2.2 找到每个区域中心最近的点(使用kd树)
2.3 如果每个最近的点都没有标记并且位于其各自的区域内,则存储新的矩形,将所有四个点标记为已发现
该算法可以通过在集合中保留未发现的点、从中挑选新点、逐渐减小其大小来优化。
另一个加速是从 KD 树中删除发现的点,这样算法就不必在步骤 2.3 中检查它们。