Python实现图片文字识别

1. windons下安装

1.1 安装 Pillow 和 pytesseract

安装都很简单,在cmd命令行里直接pip3 install xxxxx就行

1.2 安装 tesseract-ocr

安装完库还不行,还要安装 tesseract 的软件,这样系统才能识别引擎成功读取文字。

可从github下载 tesseract-ocr-setup-4.00.00dev

https://github.com/tesseract-ocr/tesseract/wiki/4.0-with-LSTM#400-alpha-for-windows
也可以直接搜索 Tesseract-OCR下载即可
Python实现图片文字识别_第1张图片
安装的时候要注意,tesseract的安装并不默认安装什么语言,如果自己需要简体中文的语言包,那么就不能一直点next点到finish。如下图,我安装了MATH和简体中文包。
Python实现图片文字识别_第2张图片

1.3 中文语言包

如果安装 tesseract-ocr 时没有设置安装中文,如果不是做英文的图文识别,还需要下载其他语言的识别包–语言包地址 其他语言各版本的识别包下载 ,如简体字识别包对应的是chi_sim.traineddata ,繁体字识别包对应的是chi_tra.traineddata ,下载好之后放到安装目录的tessdata目录下即可(只用简体字就OK)。
Python实现图片文字识别_第3张图片

1.4 配置环境变量

博主的安装路径为:C:\Program Files(x86)\Tesseract-OCR。电脑属性–高级系统设置–环境变量,进入如下界面。
Python实现图片文字识别_第4张图片
把刚刚的安装路径"C:\Program Files(x86)\Tesseract-OCR"添加到用户变量和系统变量的path中,注意,添加的时候开头用";“跟之前的变量隔开,以”;"结尾。配置好后点击确定。

打开命令终端,输入:tesseract -v,可以看到版本信息。

进入cmd窗口,敲入命令cd C:\Program Files (x86)\Tesseract-OCR,再输入tesseract,若有如下信息则表示安装成功。
Python实现图片文字识别_第5张图片

1.5 运行

代码示例:

from PIL import Image
import pytesseract
# 如果没有配置环境变量要加上这句
# pytesseract.pytesseract.tesseract_cmd = 'C://Program Files (x86)/Tesseract-OCR/tesseract.exe'
text=pytesseract.image_to_string(Image.open('denggao.jpeg'),lang='chi_sim')
print(text)

2. Linux下安装

tesseract是一个开源的OCR引擎,最初是由惠普公司开发用来作为其平板扫描仪的OCR引擎,2005年惠普将其开源出来,之后google接手负责维护。目前稳定的版本是3.0。4.0版本加入了基于LSTM的神经网络技术,中文字符识别准确率有所提高。
ubuntu下tesseract 4.0安装:
终端依次输入以下命令:

sudo add-apt-repository ppa:alex-p/tesseract-ocr

sudo apt-get update

sudo apt-get install tesseract-ocr 

# 测试安装是否成功,同时检查版本:
tesseract --version 

# 查看已安装字库
tesseract --list-langs

# 更多tesseract使用指令可以查看help
tesseract --help

Python实现图片文字识别_第6张图片
查看已安装字库
在Linux系统下不需要把tesseract添加到环境变量中

添加所需字体:
tesseract支持60多种语言的识别不同,使用之前需要先下载对应语言的字库,下载地址:
https://github.com/tesseract-ocr/tessdata

下载完成之后把 .traineddata 字库文件放到 tessdata 目录下,默认路径是/usr/share/tesseract-ocr /4.0/tessdata

参考文献:

https://blog.csdn.net/dcrmg/article/details/78128026

你可能感兴趣的:(图像)