参考链接:
https://www.jb51.net/article/183990.htm
一、OCR简介
OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程,对应图形验证码来说,它们都是一些不规则的字符,这些字符是由字符稍加扭曲变换得到的内容,我们可以使用OCR技术来讲其转化为电子文本,然后将结果提取交给服务器,便可以达到自动识别验证码的过程。
二、安装
提示:可选择下载已打包的所需文件:
https://wwa.lanzoui.com/iujjZsn6qwf
1.安装tesserocr
1、打开链接,https://digi.bib.uni-mannheim.de/tesseract/,见下图。
下载最新版的tesseract-ocr-w64-setup-v5.0.0.20190623.exe,然后安装,本人直接安装在C盘目录下。安装完毕后,如下图。
2.配置环境变量,有两个步骤。
在系统变量里,修改path,如下图。
3.在系统变量里,创建一个新的变量名为:TESSDATA_PREFIX,值为:C:\Program Files\Tesseract-OCR\tessdata(根据自己安装的tesserocr安装路径为准),如下图。
注意:路径的写法
4.检查Tesseract-OCR是否安装完成,如下图。
2.安装 pytesseract
1、安装Python的OCR识别库
pip install Pillow
pip install pytesseract
2、python加载Window的tesserocr应用,要修改pytesseract三方库的pytesseract.py脚本。
打开pytesseract.py,将Window的tesserocr应用的tesserocr.exe绑定好。
三、测试
到这里Python的绑定window的tesserocr应用已经完成。
读取验证码图片
import pytesseract
from PIL import Image
# 读取图片
im = Image.open('001.png')
# 识别文字
string = pytesseract.image_to_string(im)
print(string)
结果:
四、读取中文文本图片
1、因为OCR读取不同语言需要加载语言包,因此需要下载简体中文语言包。
从这个链接下载:https://github.com/tesseract-ocr/tessdata,下载红圈的简体中文包。然后将此文件放置window的安装目录下。(\安装目录\tessdata\)。如下两个图。
2.现在,我们来读取如下图片的中文文本内容。
代码:
import pytesseract
from PIL import Image
# 读取图片
im = Image.open('002.png')
# 识别文字
string = pytesseract.image_to_string(im, lang="chi_sim")
print(string)
效果: