欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Python】图像文字识别:从图片中识别出文字(Pytesseract安装配置与使用)

程序员文章站 2022-03-25 17:02:20
...

【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:
下载安装地址:可以百度直接搜就可以。
这里有我放在云盘里的安装包版本:
【Python】图像文字识别:从图片中识别出文字(Pytesseract安装配置与使用)
链接:https://pan.baidu.com/s/1li-Wi2SxkiPi_zRhJ_pPaA
提取码:695b

安装好之后配置环境变量就在path里加一下他的位置:
【Python】图像文字识别:从图片中识别出文字(Pytesseract安装配置与使用)
再创建一个新的环境变量TESSDATA_PREFIX:
【Python】图像文字识别:从图片中识别出文字(Pytesseract安装配置与使用)
现在就可以了,再在python的pytesseract文件夹下找到pytesseract.py,修改框位置改为下载好的tesseract-ocr文件夹下的tesseract.exe
【Python】图像文字识别:从图片中识别出文字(Pytesseract安装配置与使用)
现在可以正常使用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)

我发现中文效果不好:
原图:
【Python】图像文字识别:从图片中识别出文字(Pytesseract安装配置与使用)
识别结果:
【Python】图像文字识别:从图片中识别出文字(Pytesseract安装配置与使用)

英文可以改下lang识别,但我发现不改效果也比中文好,即使lang是简体中文:
原图:
【Python】图像文字识别:从图片中识别出文字(Pytesseract安装配置与使用)
识别结果:
【Python】图像文字识别:从图片中识别出文字(Pytesseract安装配置与使用)
下一篇记录一下调用百度API的,识别中文的效果真的巨好。。。。。
---------------2020/03/17—EchoZhang-------------------------

相关标签: CV