如何在平面上分布的点云上拟合矩形?

问题描述 投票:0回答:1

我们有一个点云,其中的点位于同一平面上。它们的分布类似于下图中的红点,我们想要适应由黄色框表示的矩形。这些矩形的安装方式应使其以尽可能少的实例/矩形覆盖点的整个分布,并尽可能紧密地围绕点。

Red Dots - Point Cloud, Yellow Boxes - Rectangles fitted, Blue Box - Oriented Bounding Box

蓝色框

表示最小边界框,我们可以使用 open3d 的 get_minimal_orienting_bounding_box() 函数轻松获得。 当三组点(由黄色框分隔的组)不相交(它们之间有一些分隔)时,Arujo 和 Oliveira

的平面

补丁检测可以是解决此问题的好方法。 使用八叉树将数据分成小块,然后在它们周围绘制边界框是另一种方法,但可能会产生许多较小的矩形,这不是最佳结果。

point-clouds rectangles bounding-box data-fitting open3d
1个回答
0
投票
k-means 聚类

来分区数据,然后计算每个聚类的边界框?您可以针对几个不同数量的簇(初始参数)运行它,然后比较边界框覆盖的总表面。 例如,scikit-learn 提供了一个相当容易实现的

KMeans 算法

另外,是否可以提供您正在处理的数据的示例?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.