OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程。
Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布,支持100多种语言。
pytesseract是基于Python的OCR工具, 底层使用的是Google的Tesseract-OCR 引擎,支持识别图片中的文字,支持jpeg, png, gif, bmp, tiff等图片格式。
github地址:https://github.com/tesseract-ocr/tesseract
Mac和Linux安装方法参考:Introduction | tessdoc
windows系统安装方法详解:
window安装程序下载地址:Index of /tesseract,下载完成后,按向导安装
安装时可以选择需要的语言包:
选择安装路径
注意:安装的路径要与python编写的程序放在同一个磁盘目录下。
将tesseract的安装路径添加到PATH环境变量中:
增加名字为TESSDATA_PREFIX的系统变量,变量值设置为tesseract的安装路径
命令行窗口输入:tesseract
,查看是否安装成功。
- pip install pytesseract
- pip install Pillow
- import pytesseract
- from PIL import Image
-
-
- # 列出支持的语言
- print(pytesseract.get_languages(config=''))
-
- image_path = '../data/ocr_englist.jpg'
- result = pytesseract.image_to_string(Image.open(image_path), lang='eng')
- print(result)
运行结果显示如下:
- ['eng', 'osd']
- Spring will come when spring goes.
中英文模型:https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata
存储到‘D:\Tesseract-OCR\tessdata’目录下。
- import pytesseract
- from PIL import Image
-
-
- # 列出支持的语言
- print(pytesseract.get_languages(config=''))
-
- image_path = '../data/ocr_chinest.jpg'
- result = pytesseract.image_to_string(Image.open(image_path), lang='chi_sim')
- print(result)
运行结果如下:
- ['chi_sim', 'eng', 'osd']
- 短 评 : 中 美 各 自 的 成 功 是 彼 此 的 机 遇