赞
踩
本人最近也是在使用和学习python遇到各种问题,公司内网控制严格 没有网络,同时也不允许安装exe文件,做python 十分的费劲,也研究了好几款文字识别的OCR ,要么是收费的 要么是离线不能用,非常的烦人,
Tesseract 这款是免费并且支持离线,是一个OCR 库,目前由Google 赞助。Tesseract 是目前公认最优秀、最精确的开源OCR 系统。偶尔有识别错误的情况但是错误率不高,对于没有高精度要求的可以使用。
python +Tesseract 的原理是:Tesseract是exe包需要安装在本地,支持python,如果想通过python 去调用,需要先在本地装Tesseract软件,然后再装python的pytesseract包来支持,通过pytesseract来调用Tesseract软件接口
在线安装:有网络可以支持在线,cmd进入命令窗口输入下面的命令,(前提是你有python环境并且可用,如果没有先百度安装python)
pip install pytesseract
离线安装:
去官网下载离线包,一个是tar 一个是whl 两个包一样只是安装方法不一样
安装python 的离线包pytesseract:
进入存放下载离线包的目录,在目录里输入cmd 进入命令窗口,再输入安装命令 回车(这个安装如果失败请百度先解决安装,可能跟python版本、pytesseract缺少依赖包导致,如果是有网的情况下安装,pip会自动给你把缺少的依赖装上,如果无网络,那可以去官网pytesseract · PyPI搜相应的依赖包,把依赖包装完再装这个依赖包),以下两种安装命令取决于你下载的离线包格式:
whl 安装命令如下,进入存放下载离线包的目录,在目录里输入cmd 进入命令窗口,再输入安装命令 回车
pip install pytesseract-0.3.10-py3-none-any.whl
tar 的安装命令如下:进入存放下载离线包的目录,在目录里输入cmd 进入命令窗口,再输入安装命令 回车
python setup.py install
拷贝Tesseract-OCR到内网机
由于我内网机不允许装exe文件,这个可以在本地装,指定目录装,装完之后,将整个Tesseract-OCR目录拷贝到内网机也是可以用的(如果你是在本机装的请忽略拷贝这一步)
Tesseract的Windows安装包下载地址为: http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe ,下载后双击直接安装即可。安装完后,需要将tesseract.exe所在的目录添加到系统变量path中。同时还要在环境变量中添加新变量TESSDATA_PREFIX并且添加tesseract的语言包tessdata的目录。
比如我的安装目录如下:
将这个目录添加到环境变量中
配置完毕在CMD中输入tesseract -v, 如显示以下界面,则表示Tesseract安装完成且添加到系统变量中
- import pytesseract
- from PIL import Image
-
- # text = pytesseract.image_to_string(Image.open(r"F:\eng.png"), lang='chi_sim')
- text = pytesseract.image_to_string(Image.open(r"F:\20221106204640.png"), lang='chi_sim')
- print(text)
运行结果如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。