Python3.6安装使用tesserocr文件时遇到问题

Posted NewJune

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3.6安装使用tesserocr文件时遇到问题相关的知识,希望对你有一定的参考价值。

  本机运行环境:

  Win 10 version 1709;

  Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32

  在Windows10下,首先需要下载tesseract,它为tesserocr提供底层支持。具体下载官方路径:https://github.com/UB-Mannheim/tesseract/wiki,选择对应的系统版本,可以选择一个相对不带dev的稳定版本下载,如:tesseract-ocr-setup-3.05.02-20180621.exe,

然后一路安装,唯一记得勾选Additional language data(download),勾选可能会用到的语言tessdata,如简体、繁体中文,数学模块等,不需要全选,下载tessdata的时间会比较长。

我们在PowerShell下使用pip3 install tesserocr pillow 命令安装 tesserocr时通常会报错:“error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools",这个时候不宜直接去下载Microsoft Visual C++ Build Tools,而是使用原始的whl文件方式安装。tesserocr 的whl官方文件下载路径:https://github.com/simonflueckiger/tesserocr-windows_build/releases,

 

再次在powershell下安装:使用cd跳转到whl文件所在目录,然后 执行 ”pip3 install tesserocr-2.2.2-cp36-cp36m-win_amd64.whl“,即可轻松完成安装。

紧接着用例子验证如何使用:我们找到一个验证码图片:image.jpg,下载到本地磁盘,用代码进行验证:

1 import tesserocr
2 from PIL import Image
3 image=Image.open(\'image.jpg\')
4 print(tesserocr.image_to_text(image))

不出意外,首次运行总是不顺利,相信我遇到的坑大多数人都会遇到,大抵错误类似:

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\\即可。亲测有效。

再次在vscode下运行程序,直接可以输出”7364“,与验证码内容一致。

以上是关于Python3.6安装使用tesserocr文件时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

安装tesserocr时提示error: Microsoft Visual C++ 14.0 is required

尝试安装 tesserocr 时出错

Python tesserocr模块使用示例

deepin安装tesseract出错,tesserocr.cpp:653:10: fatal error: leptonica/allheaders.h: 没有那个文件或目录

正方体和正方体有啥区别?

安装tesserocr错误(未解决)