新闻动态

利用Tesseract-OCR实现图片验证码识别

2022-05-09

我们在做Python爬虫的时候,经常遇到图片验证码登陆等情况。图像验证码识别的方法也有很多种,利用Tesseract-OCR实现图片验证码识别就是其中一种,也比较简单。

Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。

 

我们准备环境:WIN10系统+Python3.6版本。

安装识别引擎

安装识别引擎tesseract-ocr。下载地址,大家可以私信 发送:识别 ,即可获取安装完整安装软件。

 

主要是根据自己的需要设置下安装目录即可。其他基本上一路next即可。

安装环境

先安装python识别图片的类库。命令如下:

pip install Pillow

pip install pytesseract

接下来还要设置下,让python能够调用Tesseract-OCR程序识别验证码/文字。相关路径:

 

修改pytesseract.py文件中第35行将tesseract_cmd指向Tesseract-OCR的tesseract.exe

中文支持:安装完之后找到tessdata目录下,将下载的chi_sim.traineddata文件放到该目录下。这样它就能识别中文了。

实现代码

识别图片:

 

相关代码如下:

from PIL import Image

import pytesseract

imageObject=Image.open('D:\\D://new.jpg')

print (imageObject)

print (pytesseract.image_to_string(imageObject))

直接看下最终的结果

 

from PIL import Image

import pytesseract

pic_content=pytesseract.image_to_string(Image.open('D:\\3.png'),lang='chi_sim')

print(pic_content)

中文识别结果,还算可以:

 

题外话:图片识别训练

这个只是基础,还有一些内容可能会识别不了,特别是中文的,这个时候,就需要进行训练,训练的流程如下:

安装jTessBoxEditorFX-> 获取样本.tif文件 -> Merge样本文件 –> 生成BOX文件 -> 字符矫正 -> 执行脚本文件 -> 将生成的.traineddata文件放入Tesseract-OCR\tessdata文件夹下

在线咨询在线电话在线充值返回顶部

技术支持

电话咨询

19922193247

超10000+ 企业选择我们,快速体验!

温馨提示:我们将在您提交信息后的30分钟内与您取得联系,请您保持电话通畅,谢谢!