找到闭路径的多边形近似

时间:2013-01-14 05:50:26

标签: javascript image-processing geometry curve-fitting feature-detection

我希望能够找到封闭路径的最佳拟合多边形近似(可能是任何路径,因为它们被拉出图像)但是我遇到了如何编码算法来找到它的问题。

我可以想到一个天真的方法:沿着路径的每x个像素量,为这些像素选择最佳拟合线,然后对不同的起始偏移和长度进行蛮力,并找到最小化最小平方误差的那个最小线数。

必须有更优雅的东西。谁知道什么?此外,(畏缩),但这将在javascript中实现,除非我真的很绝望,所以很好地排除了为你做事的好库,(例如opencv有一个多边形的钳工)。

2 个答案:

答案 0 :(得分:1)

D3.js 1包含一些您可以使用的adaptive resampling代码。还有一个说明description of the algorithm使用(Visvalingam的算法)。

答案 1 :(得分:1)

此处Ramer–Douglas–Peucker算法似乎合适,并且易于实现。 请注意,可接受的错误是此算法的输入,因此如果您有目标行数,则可以使用error参数进行二进制搜索以达到目标。