一、功能介绍

        利用python对图片内文字内容进行识别提取。

二、调用库下载

        我们需要下载两个模块:

pip install pytesseract
pip install pillow

        使用快捷键win+R,输入cmd,在分别输入以上代码即可下载库。

三、Tesseract

        文字识别是ORC的一部分内容,ORC的意思是光学字符识别,通俗讲就是文字识别。Tesseract是一个用于文字识别的工具,我们结合Python使用可以很快的实现文字识别。但是在此之前我们需要完成一个繁琐的工作。

(1)Tesseract的安装及配置

Tesseract的安装我们可以移步到该网址 https://digi.bib.uni-mannheim.de/tesseract/,我们可以看到如下界面:

python 图片tiqu文字 图片文字提取python_文字识别

        有很多版本供大家选择,大家可以根据自己的需求选择。其中w32表示32位系统,w64表示64位系统。安装时我们需要知道我们安装的位置,将安装目录配置到系统path变量当中,我们路径是D:\CodeField\Tesseract-OCR

python 图片tiqu文字 图片文字提取python_python_02

我们右击我的电脑/此电脑->属性->高级系统设置->环境变量->Path->编辑->新建然后将我们的路径复制进去即可。添加好系统变量后后我们还需要依次点确定,这样才算配置好了。

(2)下载语言包

Tesseract默认是不支持中文的,如果想要识别中文或者其它语言需要下载相应的语言包,下载地址如下: https://tesseract-ocr.github.io/tessdoc/Data-Files ,进入网站后我们往下翻:

python 图片tiqu文字 图片文字提取python_文字识别_03

其中有两个中文语言包,一个Chinese-Simplified和Chinese-Traditional,它们分别是简体中文和繁体中文,我们选择需要的下载即可。下载完成后我们需要将文件内chi_sim.traineddata放到Tesseract的路径下的tessdata目录下,我们路径是D:\CodeField\Tesseract-OCR\tessdata。可以直接选择下载链接:https://pan.baidu.com/s/1eMVQuteT8bqhcFzGS1-asg 
提取码:pf8y。

python 图片tiqu文字 图片文字提取python_python_04

 三、文字识别

        批量图片识别:   

import os
import pytesseract
# 文字图片的路径
path = 'text_img/'
# 获取图片路径列表
imgs = [path + i for i in os.listdir(path)]
# 打开文件
f = open('text.txt', 'w+', encoding='utf-8')
# 将各个图片的路径写入text.txt文件当中
for img in imgs:
    f.write(img + '\n')
# 关闭文件
f.close()
# 文字识别
string = pytesseract.image_to_string('text.txt', lang='chi_sim')
print(string)

         在工程文件夹内创建py程序文件、放图片的文件夹“text_img”。执行代码会将图片文件夹内图片路径输出到“text.text”文件中,再读取“text.text”输出识别出来的文字。

四、输出结果

python 图片tiqu文字 图片文字提取python_python 图片tiqu文字_05