什么是OCR?
OCR,全称Optical Character Recognition ,中文释义为光学字符识别,是指对一个包含文本信息的图片文件的识别,目前比较流行的OCR有tesseractOCR和cnOCR,在这篇文章中我们使用识别效果较好的tesseractOCR。
安装Tesseract-OCR和pytesseract
首先我们要安装tesseract,这两个网址任选其一即可:
Home · UB-Mannheim/tesseract Wiki (github.com)
Index of /tesseract
解释一下这些名称的含义,我们以最新版本v5.20举例:
w64的w是指Windows系统,64则是指电脑CPU采用64位处理技术,setup就是安装包,后面的版本号很好理解了。但是如果版本号后面跟上alpha,dev的话就是指这个安装包为开发版或是预览版,大多数程序的开发板大多不稳定,所以这里我们就是用最新的v5.2.0稳定版安装包。
点击下载,下载完成后运行安装程序:
选择语言,没有中文,只好选英文。
然后一直next,但是注意!在选择安装语言时这个Additional lauguage data千万不要全选,要不然下载过程特别慢,如果需要的话,只安装里面的 Chinese与English组件就行了。
接下来就比较简单了,直接next,等待安装完成即可。
安装完成后我们还得添加环境变量,打开自己安装tesseract的文件夹,复制路径:
回到桌面,右键此电脑:
选择属性,点击高级系统设置,环境变量:
打开环境变量,双击用户变量的Path,新建变量:
把复制的路径粘贴进去,点确定,我们的环境配置就完成了。
验证安装
win+r,输入cmd,输入 tesseract -v 再回车,如果出现了tesseract的版本信息就说明配置成功了。
为了在python中使用tesseract,我们需要安装pytesseract,直接在cmd中用pip安装就好了:
pip install pytesseract
(无视里面的黄色字体,是我电脑的问题,对安装什么的没有影响)
实现自动识别文字
打开python编辑器,把这段代码复制进去:
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = 'D://Tesseract-OCR//tesseract.exe' # 替换成你自己的tesseract安装路径
text = pytesseract.image_to_string(Image.open('D://input.png')) # 替换成要识别的图片路径
print(text)
用windows自带画图随便做个图:
运行输出为 Hello world ,完美。
怎么样,好玩吧?不仅这样,tesseract还可以识别中文!只不过得安装相应的库,这是下载链接:
https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata
下载下来中文训练包后,把包放到tessdata中就可以识别中文了。