|
|
1
1
您想要实现的是所谓的多边形 矢量化 . 首先,需要应用轮廓跟踪算法来按顺序获取像素。在这种情况下,似乎只需将像素链接到它们的邻居就可以了(请注意,在您的示例中,一些形状是开放的,您可能需要将邻居扩展到两到三个像素。 然后利用Douglas-Peucker算法检测长直边( https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm )或类似。 你的一些角是钝的,你可能想纠正它们。我建议丢弃形成平角的短段序列,并连接相邻的长段以恢复方形角。
不要期望“完美”的结果。 |