Python 图片文字识别
前言
最近一段时间比较忙,一直没有更新文章了。最近这两天,有一点空闲的时间,想到做一些东西。
一直对 Python 有一些爱好,也一直在写一些,想着就来做一些图像识别这一块的。
今天就先做一个图像文字识别的示例。
一、准备
做图像文字识别,是需要一些文字识别的引擎,对于这些 ORC 可以自己查资料看看。
在这里用的 ORC 是 tesseract-ocr ,所以要准备一些安装包。
Windows 下的 ORC 安装包:
1、tesseract-ocr-w64-setup-v4.1.0.20190314.exe (官方没有提供,从第三方下载exe);
2、语言包,默认是支持英文的,所以对于中午识别要下载语言包:chi_tra.traineddata、chi_sim.traineddata;
这些下载地址在 GitHub 上面都有,这里也把地址贴出来:
https://digi.bib.uni-mannheim.de/tesseract/(安装包)
https://github.com/tesseract-ocr/tessdata (语言包)
不过这些国外网站,在没有FQ下载太慢了。
下载完成后放到百度网盘:链接: https://pan.baidu.com/s/1phRCtsv3FKNORfOEvt9L1g 提取码: 4mcf 复制这段内容后打开百度网盘手机App,操作更方便哦
下面就是安装 Python 包了:
pytesseract 是 tesseract-ocr 的 API 包,安装了引擎需要用这个包进行调用。
Python 3.x
pip install pytesseract
pip install pillow
Python 2.x
pip install pytesseract
pip install PIL
二、安装配置环境
安装完 ORC 引擎后,需要配置环境变量,并把语言包拷贝到安装目录下。
1、安装完成后,添加环境变量
如我的安装路径:C:\Program Files\Tesseract-OCR 添加到 Path 中,在 cmd 中 输入 tesseract -v ,出现版本情况即安装成功。
2、配置语言包
拷贝下载的语言包到:C:\Program Files\Tesseract-OCR\tessdata 路径下
3、修改 pytesseract 源码
在源码中会配置 tesseract-ocr 的路径,源码位置:C:\Python\Python37\Lib\site-packages\pytesseract (根据自己安装位置来)
修改 tesseract_cmd 为:tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe' (根据自己安装位置)
到这来就完成了安装与配置
三、示例
先上一段代码
# -*- coding: utf-8 -*- # author: ZHT # 图像识别初识 import pytesseract from PIL import Image image = Image.open('ImageIdentification/test.png') code = pytesseract.image_to_string(image, lang="chi_sim+eng") print(code)
代码是成功了,也输出了,但是识别率不行啊 !!
汉字中没有特殊字符的、不带英文的、字体较规范的,识别还是挺好的。