python 识别图形验证码_Python 验证码识别-- tesserocr

Python 验证码识别-- tesserocr

tesserocr 是 Python 的一个 OCR 识别库 ,但其实是对 tesseract 做的一 层 Python API 封装,所以它的核心是 tesseract。 因此,在安装 tesserocr 之前,我们需要先安装 tesseract 。

相关链接:

tesserocr GitHub: https://github.com/sirfz/tesserocr

tesserocr PyPI: https://pypi.python.org/pypi/tesserocr

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

tesseract GitHub: https://github.com/tesseract-ocr/tesseract

tesseract 语言包: http://github.com/tesseract-ocr/tessdata

tesseract 文档: https://github.com/tesseract-ocr/tesseract/wiki/Documentation

Windows下的安装

1,首先需要下载 tesseract,它为 tesserocr 提供了支持。

进入下载页面,可以看到有各种 .exe 文件的下载列表,这里可以选择下载 4.0 版本 。 如下图所示为 4.0 版本 。

ab6c25fe9bae66915c484a62c2acc8c1.png
bab3685809cd4d228d42f1bf437ab06c.png

2,下载完成后双击运行,安装程序。

我的环境是在anaconda3上运行的Python,anaconda3安装在C盘,所以我就把tesseract也装在了C盘。

需要注意的是,需要勾选 Additional language data(download)选项来安装 OCR 识别支持的语言包,下载语言包的时间比较久,之后我又安装了一次,不勾这个选项,然后在git上下载需要的语言包,放在tessdata文件夹中。勾选这个选项的话, OCR 便可以识别多国语言 。

给tesseract配置环境变量:

(1)将tesseract安装路径添加到path环境变量中

894c0e179c38d33051ece56fb848307e.png

(2)将tesseract的语言包添加到环境变量中,在环境变量中新建一个系统变量,变量名称为TESSDATA_PREFIX,tessdata是放置语言包的文件夹,一般在你安装tesseract的目录下,即tesseract的安装目录就是tessdata的父目录,把TESSDATA_PREFIX的值设置为C:Program Files (x86)Tesseract-OCRessdata即可

42c0bdc7daf18a0a35b700cbb8501b63.png

3,接下来 , 再安装 tesserocr 即可:

(1)pip install tesserocr pillow

(2)如果通过 pip 安装失败,可以尝试 Anaconda 下的 conda 来安装:

conda install -c simonflueckiger tesserocr pillow

(3)如果以上2种方法都安装失败,就在下边的2个地址下载一个whl文件

tesserocr GitHub: https://github.com/sirfz/tesserocr

tesserocr PyPI: https://pypi.python.org/pypi/tesserocr

我下载的是

tesserocr-2.4.0-cp37-cp37m-win_amd64.whl

aa60e25487654da8fa7eb4e028bd3b9e.png

把文件拷贝到anaconda3的文件夹下,打开命令行模式,执行以下命令

canda install tesserocr-2.4.0-cp37-cp37m-win_amd64.whl

第三种方法应该可以解决问题

4,测试

在网上随便找一个验证码图片

ab62b2da5fc73178041678927790de3b.png

输入以下代码:

from PIL import Imageimport tesserocr image = Image.open('12.jpg') print(tesserocr.image_to_text(image))

结果:

896b831225d1f4b1f698c80788ac3770.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值