@Win10环境下python调用Tesseract-OCR进行图片文字识别

个人在网上没有找到一个适用于纯小白的一个傻瓜式教程,所以在此写一个精细到每个步骤的小教程。本文仅包含最基础的识别功能(由于篇幅问题本文挂了一些链接,既方便零基础小白学习操作,也方便有基础的同学节省阅读时间)

1、下载安装python、Pycharm

建议大家安装anaconda。我安装的是python 3.6的anaconda,因为不知道什么原因安装3.7的会失败。大家可以在这里下载:我之后会上传
大家有兴趣也可以试试官网下载的anaconda最新版本:https://www.anaconda.com/distribution/
anaconda的安装请参阅其他博文,这里给大家推荐一篇:Anaconda详细安装使用教程
接着是python的编辑器。大家可以使用anaconda自带的Spyder,可以使用VS code,而我比较习惯使用pycharm,附上官网下载链接:https://www.jetbrains.com/pycharm/download/#section=windows
我推荐新手下载community版本就可以,如果有需要可以去下载professional的,这个根据自己需要。如何配置pycharm请参阅:PyCharm安装与配置
大家安装并配置好后可以写一个helloworld试一试啦!

2、Tesseract-OCR下载与配置

首先要先下载Windows环境的Tesseract OCR安装包:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe
下载好之后双击就开始安装了,安装过程中可以自定义安装路径,我的安装路径:D:/Tesseract-OCR

Win10环境下python调用Tesseract-OCR进行图片文字识别
Win10环境下python调用Tesseract-OCR进行图片文字识别
Win10环境下python调用Tesseract-OCR进行图片文字识别
Win10环境下python调用Tesseract-OCR进行图片文字识别Win10环境下python调用Tesseract-OCR进行图片文字识别
Win10环境下python调用Tesseract-OCR进行图片文字识别
最后点击install就可以了,然后会问你要哪些英文以外的语言包,可以根据自己的需要来选择要安装的语言包。安装好之后需要配置系统的环境变量。
1)打开文件资源管理器,在左侧“此电脑”右键单击,点属性
Win10环境下python调用Tesseract-OCR进行图片文字识别
2)点击左侧“高级系统设置”,得到如下,点击红框的“环境变量”

Win10环境下python调用Tesseract-OCR进行图片文字识别
3)由步骤2)得到如下,可以看到上方的用户变量和下方的系统变量。

Win10环境下python调用Tesseract-OCR进行图片文字识别

选中用户变量的Path,然后点击用户变量下的编辑,得到下图,点击右侧新建,将你的tesseract.exe的路径写入(我的是D:/Tesseract),然后确定。
Win10环境下python调用Tesseract-OCR进行图片文字识别
同样的,在系统变量中找到Path,按照上述方法将路径加到系统变量的Path中。
4)在下面系统变量中直接”新建“,变量名为TESSDATA_PREFIX,变量值同3)中的tesseract.exe的路径。这个变量的作用是让程序找到语言包,语言包一般统一存放于Tesseract_OCR\tessdata\文件夹中。如果不添加此变量,程序运行将会报错显示找不到可用的语言包。

Win10环境下python调用Tesseract-OCR进行图片文字识别
这样我们的Tesseract-OCR就可以正常工作了。

3、使用python调用Tesseract OCR

首先要安装python库,推荐使用pip进行安装。pip在安装anaconda时已经自动安好了。
打开Anaconda Prompt,分别写入
pip install Pillow
pip install pytesseract
使用pycharm打开Anaconda\Lib\site-packages\pytesseract\pytesseract.py文件,在第35行需要修改路径。

34 # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
35 tesseract_cmd = 'D:/Tesseract-OCR/tesseract.exe'#这里修改为你的tesseract.exe安装路径

4、编写简单的python脚本识别文字

以日文为例,新建tesstest.py,将要识别的图片命名为a.jpg并放于tesstest.py的相同路径下。在tesstest.py中编写:

import pytesseract
from PIL import Image

image = Image.open('a.jpg')
text = pytesseract.image_to_string('a.jpg',lang = 'jpn')
print(text)

右上角绿色箭头运行,稍等片刻后下方RUN显示输出结果。
如有报错,欢迎大家给我留言

转载请注明出处

相关文章: