最佳多边形拟合点

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

我正在寻找一种算法来查找可以表示 2D 空间中的一组点的多边形。具体来说,如果给定一组像这样的点

理想情况下它应该产生类似这样的东西:

(箭头为线段)

基本上,输出将是一组“最好”解决点特征的段。该算法可能需要一些参数来控制输出段的数量。

我目前对我正在寻找什么算法没有任何想法。任何论文或建议表示赞赏。

image-processing graphics 2d polygon point
2个回答
1
投票

这是一种可能的算法。

对于每个点,查看最接近它的 2 个点,它们会连接起来。 然后使用 Douglas Peucker 细化边缘。

本质上,您将创建一个包含所有点的第一个多边形,并尝试消除那些消除后不会太大改变形状的点。


0
投票

完成 @Makogan 响应,Douglas-Peucker 算法的实现可以在

approximate_polygon
函数中找到 scikit-image

from skimage.measure import approximate_polygon

approximate_polygon(<your_coordinates_numpy_array>)
>>> array([[x,y],...])

一些使用示例可以在这里找到

© www.soinside.com 2019 - 2024. All rights reserved.