0

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

验证码非常嘈杂,不幸的是,噪声与实际文本之间没有色差,因此基于颜色的分离不起作用。经过一番思考,我设法在验证码的像素上实现了一种填充样式算法,以分离小的断开连接的组件,之后我得到了这样的结果: 去除大量噪音后的验证码

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

(注意:我没有为此使用任何图像处理工具/库。我正在编写原始像素操作代码,但考虑到它们的卷积核,我可以实现大多数过滤器)

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

编辑:原始图像 验证码的原始图像

4

1 回答 1

1

尝试诸如关闭和打开之类的形态运算符怎么样?它们非常易于实施,是一种简单而有效的工具。

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

在此处输入图像描述

我相信再多尝试就会产生很好的效果。

编辑:为了澄清一点,关闭是一个膨胀,然后是一个腐蚀(打开的其他方式)。膨胀是为图像中的每个像素分配其周围内核(结构元素)中所有像素的最大值,相反,腐蚀为每个像素分配其周围内核中所有像素的最小值。

还可以查看维基百科链接和其中的外部链接。

于 2014-12-15T14:08:32.403 回答