【Python】图像文字识别:从图片中识别出文字(Pytesseract安装配置与使用)
【Python】图像文字识别:从图片中识别出文字(Pytesseract)
1.Tesseract
将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)。可以实现OCR 的底层库并不多,目前很多库都是使用共同的几个底层OCR 库,或者是在上面进行定制。
Tesseract 是一个OCR 库,目前由Google 赞助(Google 也是一家以OCR 和机器学习技术闻名于世的公司)Tesseract 是目前公认最优秀、最精确的开源OCR 系统。除了极高的精确度,Tesseract 也具有很高的灵活性。它可以通过训练识别出任何字体(只要这些字体的风格保持不变就可以),也可以识别出任何Unicode 字符。
2. 安装配置Pytesseract
在Python里你需要使用pytesseract,他是Tesseract关于Python的接口,可以使用pip install pytesseract安装。
但是可能会报错,因为你还需要下载Tesseract-OCR并为他配置环境变量。
Tesseract-OCR:
下载安装地址:可以百度直接搜就可以。
这里有我放在云盘里的安装包版本:
链接:https://pan.baidu.com/s/1li-Wi2SxkiPi_zRhJ_pPaA
提取码:695b
安装好之后配置环境变量就在path里加一下他的位置:
再创建一个新的环境变量TESSDATA_PREFIX:
现在就可以了,再在python的pytesseract文件夹下找到pytesseract.py,修改框位置改为下载好的tesseract-ocr文件夹下的tesseract.exe
现在可以正常使用pytesseract
3.使用与效果:
使用很简单,找张图片:imgurl是图片路径
import pytesseract
from PIL import Image
def Tesseract_ocr(imgurl):
im = Image.open(imgurl)
text=pytesseract.image_to_string(im, lang='chi_sim')
print(text)
我发现中文效果不好:
原图:
识别结果:
英文可以改下lang识别,但我发现不改效果也比中文好,即使lang是简体中文:
原图:
识别结果:
下一篇记录一下调用百度API的,识别中文的效果真的巨好。。。。。
---------------2020/03/17—EchoZhang-------------------------