数据集上的方形拟合

Square fitting on a dataset

我有一组二维点。

这些点基本上是通过扫描一个正方形长方体(如果那是东西?)而形成的,并且可以旋转。所以形成的点可以是0度到45度之间的任何"angle"。

我知道正方形的尺寸。我怎样才能在这些点上安装正方形?

我终于解决了这个问题。以下是该算法的粗略概述:

  1. 获取点云的凸包
  2. 通过Kd-Tree
  3. 得到这些船体点的索引
  4. 提取船体点之间的点
  5. 为线模型应用 SACSegmention
  6. 为检测到的线计算平行线(在我的例子中,我实际上需要一个垂直平分线)

下面是最终结果