2009-12-01 89 views
2

我想找到一个算法,可以找到位图中的虚线或形状。考虑一种情况,其中只有两种颜色的背景和白色(用于着色书籍的图像),有一些曲线和线条应该彼此连接,但由于某些扫描错误,白色位置代替黑色的。我应该如何检测它们? (在完成这项工作之后,我想将位图转换为矢量文件,我想使用potrace算法)。如何检测和修正位图中的虚线或形状?

如果您有任何想法,请告诉我。

回答

2

下面是一个简单的算法来医治小的差距:

首先,使用它创建了一个黑色像素时,任何八个相邻的是黑色的过滤器。这会增加您的总体轮廓。

接下来,使用细化过滤器去除额外的轮廓,但只留下填充的间隙。

请参阅本文的一些过滤器和参数:Image Processing Lab in C#

1

最简单的方法是使用一种称为closing形态的技术。 只有在线条间隙相对于不同线条彼此之间的距离相当小时,这才会起作用。

如何选择结构元素来执行关闭操作还可以使性能更好或更差。

维基百科文章非常理论(或数学),所以你可能想转向谷歌或任何关于图像处理的书籍,以更好地解释它是如何完成的。

1

也许Hough Transform可以帮到你。奖励:你得到你的矢量文件的线条参数。