Python验证码识别 安装Pillow、tesseract-ocr与pytesseract模块的安装以及错误解决

1. 安装tesseract

tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/

下载完成后双击,此时会出现如下图所示的页面。

此时可以勾选Additional language data(download)选项来安装OCR识别支持的语言包,这样OCR便可以识别多国语言。然后一路点击Next按钮即可。

接下来,为了在python代码中使用tesseract功能,使用pip安装pytesseract:

pip install pytesseract

2、配置环境变量

为了在全局使用方便,比如安装路径为D:\Program Files (x86)\Tesseract-OCR,将该路径添加到环境变量的path中

比如:E:\Tesseract-OCR

配置完成后在命令行输入tesseract -v,如果出现如下图所示,说明环境变量配置成功

3、验证安装

接下来,我们可以使用tesseract和pytesseract来分别进行测试。

选择一张图片,再该图片的目录下运行cmd,输入指令:tesseract image.png result 

运行结果如下:

D:\chromeDownload>tesseract image.png result
Tesseract Open Source OCR Engine v3.05.02 with Leptonica

1.如果出现:Tesseract couldn\'t load any languages!

  表示语言包没用生效,或者没有下载,去E:\Tesseract-OCR\tessdata看语言包是否下载,如果下载就是没有生效,则在系统环境中新建变量名:TESSDATA_PREFIX,添加变量值:E:\Tesseract-OCR\tessdata

2.pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Tesseract-OCR\\tessdata/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\\tessdata"'
# tessdata_dir_config = '--tessdata-dir "'C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"'
pytesseract.image_to_string(image, config=tessdata_dir_config)

3.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\\tesseract.exe‘

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

pytesseract.pytesseract.tesseract_cmd = 'D:\\Tesseract-OCR\\tesseract.exe'

 

posted @ 2020-11-24 15:32  Eliphaz  阅读(713)  评论(0编辑  收藏  举报