tesseract和tesserocr下载中碰到的问题及解决方案

前言

        最近在网络爬虫的验证码识别学习中,了解到了利用OCR技术识别图形验证码的一些方法,其中对于最常见的基础图形验证码(如图)可以采用tesserocr库来识别,进行转灰度、二值化等操作,它的核心是tesseract,因此在安装tesserocr之前,需要先安装tesseract。

        安装了很久碰到过许多问题,现在这儿归纳解决一下。

 tesseract的安装

        这里提供一个下载地址:https://digi.bib.uni-mannheim.de/tesseract/,推荐用迅雷下载以免限流。

        其中文件名中带有dev的为开发版本,alpha为内测版,beta为公测版,都不稳定,这里推荐不带dev的稳定版本。

        我选择的版本是tesseract-ocr-w64-setup-v5.0.0.20190623.exe,要注意的是不要勾选Additional language data(download)选项,这是来安装 OCR 识别支持的语言包的,但是勾选了下载过程中会有许多报错,这里推荐如果有需要下载完后自行下载。

        语言包安装参考:Tesseract OCR 下载及安装教程 (中英文语言包)_input_sudo的博客-CSDN博客_tesseract-ocr语言包

        下载完成后,有两个必须做的操作:

        1.将tesseract的安装路径加入环境变量Path中,我之前加入到系统环境变量中验证时大量飘红,然后加入到了用户环境变量的path中就没问题了,具体原因还不清楚。

tesseract和tesserocr下载中碰到的问题及解决方案_第1张图片

2.将tesseract安装目录下的tessdata文件夹复制到你python的安装路径中去。

tesseract和tesserocr下载中碰到的问题及解决方案_第2张图片

         配置完成后在cmd命令行输入tesseract --version查看tessertact版本信息,如果出现类似如下图所示,说明环境变量配置成功

tesseract和tesserocr下载中碰到的问题及解决方案_第3张图片

 tesserocr的安装

        下载完成之后直接命令行pip install tesserocr pillow安装会报错,显示 Microsoft Visual C++ 14.0 or greater is required 需要安装最新的C++环境,其实没必要这么麻烦,Windows系统这里推荐下载对应的.whl文件来进行安装。

GitHub下载地址:Releases · simonflueckiger/tesserocr-windows_build · GitHub

tesseract和tesserocr下载中碰到的问题及解决方案_第4张图片

        在这里下载自己python适配的版本就可以了,查询方法:pip debug --verbose

tesseract和tesserocr下载中碰到的问题及解决方案_第5张图片

        然后cmd中切到.whl文件所在的目录下,键入 pip install tesserocr-2.4.0-cp36-cp36m-win_amd64.whl就能下载成功了(这里换成自己下载的版本)。

        下面是tesserocr的基本用法演示:

import tesserocr
from PIL import Image

image = Image.open('code.jpg')
result = tesserocr.image_to_text(image)
print(result)

        这里图片保存在项目当前文件夹  

        查询自己Python的当前版本:python --version

        相信大家也注意到,tesserocr并没有python3.8对应的版本可以下载,查询很久发现还没有更新到此版本。大家可以安装pytesseract,pip install pytesseract下载就好了,它是Google的Tesseract-OCR引擎包装器。但是通过对比个人感觉其实并没有tesserocr效果好。       

        下面是pytesseract的基本用法演示:

from PIL import Image
import pytesseract
# python3.8还没有对应的tesserocr版本

image = Image.open('code.jpg')
result = pytesseract.image_to_string(image)
print(result)

        这里还用到了Python图像库PIL(Python Image Library),这个可以在pycharm中直接下载成功,或者pip install pillow

        操作方式: File → Settings → Project → Project Interpreter

tesseract和tesserocr下载中碰到的问题及解决方案_第6张图片

        以上是个人对于tesserocr下载中一些问题的总结,欢迎大家指正交流。

你可能感兴趣的:(python)