文章目录
什么是OCR?安装Tesseract-OCR和pytesseract实现自动识别文字什么是OCR?
OCR,全称Optical Character Recognition ,中文释义为光学字符识别,是指对一个包含文本信息的图片文件的识别,目前比较流行的OCR有tesseractOCR和cnOCR,在这篇文章中我们使用识别效果较好的tesseractOCR。
安装Tesseract-OCR和pytesseract
首先我们要安装tesseract,到这个网址下载:
Home · UB-Mannheim/tesseract Wiki ()
自己按照电脑的位数选择安装包,下载下来。
下载下来后,打开安装包。
选择语言,没有中文,只好选英文。
然后一直next,但是注意!在安装语言时这个Additional lauguage data千万不要全选,要不然下载过程特别慢,如果需要的话,只安装里面的 Chinese组件就行了。
接下来就比较简单了。
安装完成后我们还得添加环境变量,打开自己安装tesseract的文件夹,复制路径,在右键此电脑,选择属性,打开高级系统设置,打开环境变量,打开用户变量的Path,新建变量,把复制的路径粘贴进去,点确定就行了,可以通过cmd输入 tesseract -v 再回车,如果出现了tesseract的版本信息就说明配置成功了。
然后为了在python中使用tesseract,我们需要安装pytesseract,直接在cmd中用pip安装就好了:
pip install pytesseract
(无视里面的黄色字体,是我电脑的问题,对安装什么的没有影响)
实现自动识别文字
打开python编辑器,把这段代码复制进去:
import pytesseractfrom PIL import Imagepytesseract.pytesseract.tesseract_cmd = 'D://Tesseract-OCR//tesseract.exe' # 替换成你自己的tesseract安装路径text = pytesseract.image_to_string(Image.open('D://input.png'))# 替换成要识别的图片路径print(text)
这是我要识别的图片:
运行后输出为 Hello world ,识别率很高。
怎么样,好玩吧?不仅这样,tesseract还可以识别中文!只不过得安装相应的库,这是下载链接:
/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata
下载下来中文训练包后,把包放到tessdata中就可以识别中文了。