我使用的二进制图像细化算法是" Graphics Gems IV。二维图像细化使用Neigborhood Maps",作者:Joseph M. Cychosz。
可以在https://github.com/erich666/GraphicsGems/blob/master/gemsiv/thin_image.c
在线找到实施方案我检查了它是否符合原始算法,发现没有区别。
该算法在大多数情况下运行良好,但我观察到使其永远循环的配置。
例如,对于下面的图像,它将永远尝试擦除坐标(0,7)处的像素(用红点标记),方向都是0(北)和2(西)。
循环开始时,配置如下(注意,不同的像素大小)。我没有看到任何值得注意的东西,只不过我们处在边缘。
是否有人遇到此问题并找到了修复方法?