登录 |  注册 |  繁體中文


使用Python验证码识别

分类: python 颜色:橙色 默认  字号: 阅读(843) | 评论(0)

使用Tesseract模块,识别验证码

Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。

一、安装

github地址: https://github.com/tesseract-ocr/tesseract

windows: 

只有非官方版本  https://github.com/tesseract-ocr/tesseract/wiki 
 

二、测试

安装好后,打开命令终端,输入:tesseract -v,可以看到版本信息

建议先设置好环境变量

 

执行以下命令,结果在文件output_1里面

使用python接口查询(需要先设置tesseract的环境变量)

注:pytesseract只是一个接口,实际查询需要服务

from PIL import Image
import pytesseract
 
im = Image.open("../resource/test.png")
text = pytesseract.image_to_string((im), lang=chi_sim)
print(text)

三、遇到的问题

1.FileNotFoundError: [WinError 2] 系统找不到指定的文件

解决方法:

方法1[推荐]: 将tesseract.exe添加到环境变量PATH中,

例如: D:Tesseract-OCR,默认路径为C:Program Files (x86)Tesseract-OCR

注意: 为了使环境变量生效,需要关闭cmd窗口或是关闭pycharm等ide重新启动

方法2: 修改pytesseract.py文件,指定tesseract.exe安装路径

# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
tesseract_cmd = C:Program Files (x86)Tesseract-OCR	esseract.exe‘
 

方法3:  在实际运行代码中指定

pytesseract.pytesseract.tesseract_cmd = D:Tesseract-OCR	esseract.exe

 

2.pytesseract.pytesseract.TesseractError: (1, 'Error opening data file Tesseract-OCR essdata/eng.traineddata')

 解决方法:

方法1[推荐]: 

将tessdata目录的上级目录所在路径(默认为tesseract-ocr安装目录)添加至TESSDATA_PREFIX环境变量中

例如: C:Program Files (x86)Tesseract-OCR

Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
 

方法2:  在.py文件配置中指定tessdata-dir

tessdata_dir_config = --tessdata-dir "D:Tesseract-OCR	essdata"
# tessdata_dir_config = --tessdata-dir "C:Program Files (x86)Tesseract-OCR	essdata"
pytesseract.image_to_string(image, config=tessdata_dir_config)

 



上一篇:Tesseract-OCR的训练   下一篇:OCR概况

姓 名: *
邮 箱:
内 容: *
验证码: 点击刷新 *   

回到顶部