Python Tesseract无法识别验证码文本

Python Tesseract无法识别验证码文本,python,python-3.x,opencv,tesseract,python-tesseract,Python,Python 3.x,Opencv,Tesseract,Python Tesseract,我试图识别验证码中的文本,但这对我来说是不可能的。我正在使用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, inter

我试图识别验证码中的文本,但这对我来说是不可能的。我正在使用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)
我想我应该先去掉颜色线,然后把文字放在一边,也许可以改变亮度和对比度。什么过滤器可以应用

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


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

  • 准备自定义训练\u设置为训练您的tesseract实例以识别特定字体[可选]

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

  • 用于删除线条:在示例图像中,只有文本可以看到黑色,没有黑色线条,因此您可以使用PIL或OpenCV将每个非黑色像素简单地转换为白色,甚至可以使用一些特定的算法(如Hough line Transform)来检测和删除线条


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

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

  • 准备自定义训练\u设置为训练您的tesseract实例以识别特定字体[可选]

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

  • 用于删除线条:在示例图像中,只有文本可以看到黑色,没有黑色线条,因此您可以使用PIL或OpenCV将每个非黑色像素简单地转换为白色,甚至可以使用一些特定的算法(如Hough line Transform)来检测和删除线条


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

我觉得验证码工作正常。当然不行,您认为他们为什么发明验证码?我觉得验证码工作正常。当然不行,您认为他们为什么发明验证码?