Python Tesseract无法识别验证码文本
我试图识别验证码中的文本,但这对我来说是不可能的。我正在使用python3、openCv和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
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网站上的官方文档和教程中了解所有这些过滤器和算法。我觉得验证码工作正常。当然不行,您认为他们为什么发明验证码?我觉得验证码工作正常。当然不行,您认为他们为什么发明验证码?