https://digi.bib.uni-mannheim.de/tesseract/
https://blog.csdn.net/SpuerCheng/article/details/79323620
https://github.com/simonflueckiger/tesserocr-windows_build/releases
https://blog.csdn.net/taiyangmiaomiao/article/details/81945158
1.初识tesserocr
tesserocr是Python的一个OCR识别库,但其实是对tesseract做的一层Python API封装,所以它的核心是tesseract。因此,在安装tesserocr之前,我们需要先安装tesseract。
2. 相关链接
tesserocr GitHub:https://github.com/sirfz/tesserocr
tesserocr PyPI:https://pypi.python.org/pypi/tesserocr
tesseract下载地址:http://digi.bib.uni-mannheim.de/tesseract
tesseract GitHub:https://github.com/tesseract-ocr/tesseract
tesseract语言包:https://github.com/tesseract-ocr/tessdata
tesseract文档:https://github.com/tesseract-ocr/tesseract/wiki/Documentation
3. Windows下的安装
在Windows下,首先需要下载tesseract,它为tesserocr提供了支持。其中文件名中带有dev的为开发版本,不带dev的为稳定版本,可以选择下载不带dev的版本。
下载完成后双击,此时会出现如图1-25所示的页面。
此时可以勾选Additional language data(download)选项来安装OCR识别支持的语言包,这样OCR便可以识别多国语言。
注: 建议只选Additional language data 中自己需要的语言包,大部分是用不到的。个人选的是中文跟英文
4.配置tesseract环境变量
将以下两个路径添加到path中,命令行输入tesseract没有错误即安装成功
D:\Program Files\Tesseract-OCR
D:\Program Files\Tesseract-OCR\tessdata
5.安装tesserocr
首先 pip install pillow
pip3 install tesserocr 会出现以下错误:
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
解决方法: 下载tesserocr-2.2.2-cp36-cp36m-win_amd64.whl
pip3 install tesserocr-2.2.2-cp36-cp36m-win_amd64.whl
下载地址 https://pan.baidu.com/s/1_tgn_FP7IcP6ddi3UVK0Hw 密码:rpbr
6.tesserocr简单使用
import tesserocr
from PIL import Image
image = Image.open('code.png')
result = tesserocr.image_to_text(image)
print(result)
注: 如果出现以下错误 ,添加以下环境变量
变量名:TESSDATA_PREFIX,变量值: D:\Program Files\Tesseract-OCR\tessdata
RuntimeError:Failed to init API, possibly an invalid tessdata path: D:\Users\Administrator\AppData\Local\Programs\Python\
不出意外,首次运行总是不顺利,相信我遇到的坑大多数人都会遇到,大抵错误类似:
Traceback (most recent call last):
File "c:\Users\NewJune\test.py", line 4, in <module>
print(tesserocr.image_to_text(image))
File "tesserocr.pyx", line 2400, in tesserocr._tesserocr.image_to_text
RuntimeError: Failed to init API, possibly an invalid tessdata path: C:\Python36\
不难看出 tesserocr.py文件没有指定正确的tessdata 路径,本人的python也并非安装在C:\Python36\,网上看到的方法都是添加D:\Program Files\Tesseract-OCR这个到系统环境变量,依然不成功,目前本人没找到如何修改tesserocr.py关联的tessdata path有效方式,但是比较简单粗暴的方法是,可以根据提示,直接手工新建C:\Python36\,并将D:\Program Files\Tesseract-OCR对应的tessdata文件夹整个拷贝到C:\Python36\即可。亲测有效。