Captcha识别的最佳实践

时间:2016-05-11 10:48:21

标签: python opencv image-processing tesseract

我正在研究一个基于文本的验证码识别的真实项目。

图像处理步骤大致设计为

  1. 预处理灰度图像(扩张,腐蚀或模糊等),以消除微小的噪音。

  2. 裁剪内容周围是否有任何边框填充

  3. 根据横轴计算直方图,并尝试垂直破解文本。

  4. 使用tesseract等工具识别单个字符。

  5. 目前我正在使用Python + Opencv进行编码,结果如下:

    captcha processing

    所以我现在得到了直方图,如果我在数字中填入一些洞,每个文本都会很好地显示为直方图中的正态分布。

    但是如何才能真正找出此图片中的每个局部最大值?目前,直方图是离散的,而不是那么平滑。我现在陷入了这个阶段。

    而且,这些隔音条无法移除。因为文本有不同的颜色。那么我需要将色彩空间转换为HSV还是其他任何东西?

    如果你能给我一些建议,我将不胜感激。

    谢谢!

1 个答案:

答案 0 :(得分:1)

是..尝试在HSV的各个层中查看图像的外观。将直方图均衡/对比度归一化应用于值图层,阈值并查看是否存在差异。