100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python手写汉字识别_python实现简单的文字识别

python手写汉字识别_python实现简单的文字识别

时间:2019-01-04 21:35:27

相关推荐

python手写汉字识别_python实现简单的文字识别

将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)。今天我们用到的就是一个OCR 库——Tesseract。

首先要安装Tesseract,除了最基本的pip安装外,还要下载Tesseract-OCR程序。

1.下载所需的python包:pip install Pillow

pip install pytesseract

安装时前面一直next就可以了,直到这一步,在additional language data里勾选Math和Chinese,支持计算和中文:

3.添加环境变量:

添加名为TESSDATA_PREFIX的环境变量,设置为安装目录下的tessdata目录C:\Program Files (x86)\Tesseract-OCR\tessdata (一般默认是这个)

4.修改pytesseract.py:

这个文件在python安装路径的Lib\site-packages\pytesseract文件夹下,将tesseract_cmd修改成tesseract的安装路径,使pytesseract能够调用tesseract。tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tessdata/tesseract.exe'

一般做完上面4步,就能用下面的代码实现简单的文字识别了:

import pytesseract

from PIL import Image

text = pytesseract.image_to_string(Image.open('1.jpg'),lang='chi_sim') # chi_sim是简体中文训练包,如果想识别英文去掉lang选项即可

print(text)

但我在安装Tesseract-OCR的过程中,遇到了download error的问题,导致chi_sim包没有下载成功。因此运行程序后还会报没有配置环境变量的错,这个时候就要手动下载中文训练包了,我找到的下载地址是/liangchan/11126.html,里面不仅有中文,还有几个其他语言的包。

下面是识别结果:

对于这种清晰的印刷体,识别准确率还是挺高的。但如果换成手写文字的话,emmm……别灰心,不是你的字迹丑,真的是这个识别库不行。

即便不是手写的,换一种潦草一点的字体,它就一样识别不准了,比如上网找一个王羲之的字体:

结果是:

由此可见,在Tesseract的眼里,你和王羲之没啥两样。

——我和王羲之谁的书法更漂亮?

——Tesseract:我好像听不懂你在说什么。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。