用一点噪音改进验证码

时间:2014-12-14 19:00:00

标签: image-processing ocr captcha imagefilter pixel-manipulation

我正试图破解特定的网络CAPTCHA。我打算通过分割字符并将它们传递给ANN(主要用于特征,我会使用瞬间方法,因为它似乎很难完全消除噪声)来做到这一点。

验证码非常嘈杂,遗憾的是噪音和实际文字之间没有色差,因此基于颜色的分离将无法正常工作。经过深思熟虑,我设法在验证码的像素上实现了泛洪填充样式算法来分离小的断开连接的组件,之后我最终得到了这样的结果: CAPTCHA after considerable noise removal

大部分噪音消失了,但有些噪音留在字母本身周围(因为它触及文字)。 我不是图像滤镜的专家,我发现很难找到合适的滤镜来减少剩余噪音并增强角色。 关于我可以用于此目的的过滤器的任何想法。

(注意:我没有使用任何图像处理工具/库。我正在编写原始像素操作代码,但我可以在给定卷积内核的情况下实现大多数滤镜)

问题是由于这种噪音,分割字符变得困难。显然,试图找到没有暗像素的垂直线条是行不通的,因为有噪音,有些字母在触摸。 关于如何有效地细分这些问题的任何想法?

编辑:原始图像 original image of captcha

1 个答案:

答案 0 :(得分:1)

尝试像closing and opening这样的形态运算符怎么样?它们非常容易实现,是一种简单而有效的工具。

在使用3x3交叉结构元素(内核)关闭并对图像进行二值化后,噪声几乎消失了:

enter image description here

我相信更多的尝试会带来很好的效果。

编辑:为了清理一点,关闭是扩张,然后是侵蚀(另一种方式是打开)。扩张是为图像中的每个像素分配内核中所有像素的最大值(结构元素),对话,侵蚀为每个像素分配内核中所有像素的最小值。

另请查看维基百科链接及其中的外部链接。