繁体   English   中英

Tesseract无法识别验证码文本

[英]Tesseract can not recognize captcha text

我试图识别验证码中的文字,这对我来说是不可能的。 我正在使用python3,openCv和tesseract。

简化的代码是:

import cv2                                                           
from pytesseract import *

img_path = "path"

img = cv2.imread(img_path)
img = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_LINEAR)
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

pytesseract.image_to_string(img)

我想我应该首先删除颜色线,然后单独留下文字,并可能改变亮度和对比度。 什么过滤器适用?

这些是一些要识别的图像。

要使用pytesseract-ocr识别验证码文本,您可以执行以下操作。

  • 准备自定义train_set以训练您的tesseract实例以识别特定字体[可选]

  • 验证码图像需要一些预处理(例如*应用黑白滤镜>比例(向上)>模糊>形态转换+自适应阈值*)来增强文本部分并减少噪声/线条。

  • 删除线条:在样本图像中,只有文本可以看到黑色,没有黑线,所以你可以通过使用PIL或OpenCV简单地将每个非黑色像素转换为白色,你甚至可以使用一些特定的算法像Hough Line Transform一样检测和删除线条。

您可以从OpenCV网站上的官方文档和教程中了解所有这些过滤器和算法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM