Python 验证码识别

2017-11-08  本文已影响0人  chacvoo

这里会用到

安装

下载安装 tesseract

安装pytesseract  和  Pillow

pip install pytesseract

pip install Pillow

这里只说winsows系统下的安装linux,在利用pytesseract调用tesseract时遇到以下错误:

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

于是我看了下pytesseract源码,发现有这样的一行

# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY

tesseract_cmd = 'tesseract'

估计windows系统要手工添加环境变量,所以才产生的问题,于是又将tesseract添加到环境变量Path中,但还是会报错:

pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\eng.traineddata')

这个是eng.traineddata文件路径有误才会出现的错误。

解决办法:

先查看tesseract有没有这个语言包,有CMD中输入命令:

tesseract --list-langs

结果:

List of available languages (2):

eng

osd

然后再查看然后再google下的,发现还是tesseract的环境变量的问题,找到了下面这一句话

Please make sure the TESSDATA_PREFIX environment variableisset to the parent directory of your"tessdata"directory.

于是新建的一个TESSDATA_PREFIX指定"tessdata"的上级目录也就是"C:\Program Files (x86)\Tesseract-OCR"

windows的安装也完成。

先用一个简单的验证码测试一下:

from PIL import Image

import pytesseract

result = pytesseract.image_to_string(Image.open(r'F:\pachong\PIN\PIN_ws\692.jpg',"r"), lang='eng')

print(result)

上一篇下一篇

猜你喜欢

热点阅读