前言

大家在学习爬虫验证码识别时,有时候会用到OCR识别,而tesseracr库即为对tesseract做的python封装。因此,我们需要安装tesseract。
在安装过程中,我遇到了一些问题,在这里分享给大家。本篇文章主要是讲win10环境下,tesserocr的安装。

安装步骤

1、安装tesseract

在win10下,安装tesseract可以进入该网址进行下载 https://digi.bib.uni-mannheim.de/tesseract/

tesseract 卸载命令行 tesseract安装教程_tesseract 卸载命令行


其中,文件名中带有dev的为开发版本,不带dev的为稳定版本,可以选择下载不带dev的版本。例如可以选择下载tesseract-ocr-setup-3.05.02-20180621.exe。

下载完成后,打开下载文件,其中可以勾选Additional language data(download)选项来安装OCR识别支持的语言包,以便OCR识别多国语言。

tesseract 卸载命令行 tesseract安装教程_tesseract_02

2、配置环境

打开安装目录并拷贝

tesseract 卸载命令行 tesseract安装教程_tesseract_03


【此电脑】——【属性】——【环境变量】

tesseract 卸载命令行 tesseract安装教程_tesserocr_04


tesseract 卸载命令行 tesseract安装教程_tesseract_05


tesseract 卸载命令行 tesseract安装教程_tesseract_06


用户变量和系统变量的两个【Path】均需添加刚才拷贝的Tesseract 的安装路径。

在【系统变量】新建一个变量名称为:TESSDATA_PREFIX,值为:刚才路径加上 \tessdata

tesseract 卸载命令行 tesseract安装教程_tesseract_07

3、安装tesseracr包

- 尝试pip安装:

pip install tesserocr pillow

- 如果不成功,则尝试通过.whl文件安装。

下载地址:https://github.com/simonflueckiger/tesserocr-windows_build/releases

找到与tesseract对于版本的tesserocr

tesseract 卸载命令行 tesseract安装教程_tesseract 卸载命令行_08


将该文件移动到python的包文件夹里,比如D:\Anaconda3\Scripts,如果需要装在虚拟环境,应将其放在虚拟环境python的包文件夹里,然后输入以下命令:

pip install tesserocr-2.3.1-cp37-cp37m-win_amd64.whl

测试代码:

可以在该网址下载图片https://raw.githubusercontent.com/Python3WebSpider/TestTess/master/image.png

tesseract 卸载命令行 tesseract安装教程_tesserocr_09

# 图形验证码的识别
import tesserocr
from PIL import Image

image = Image.open('code.png')
# 转为灰度图像
image = image.convert('L')
# 二值化
threshold = 110
table = []
for i in range(256):
    if i < threshold:
        table.append(0)
    else:
        table.append(1)
image = image.point(table, '1')
image.show()
result = tesserocr.image_to_text(image)
print(result)

输出:

tesseract 卸载命令行 tesseract安装教程_python_10


如果报错,则将tesseract文件夹里的tessdata复制到刚才的Scripts文件夹中。

小结

tesserocr也只是识别手段的一种,如果需要高精度的识别,可以尝试TensorFlow实现深度学习模型,通过训练模型来识别图形验证码。