使用tesserocr.file_to_text("path")报错Failed to init API, possibly an invalid tessdata path: C:\'

在配置tessdata时出现不少问题,上网查阅了不少的博客,终于将问题解决了,如今整理以下:
在安装完tesserocr后运行以下代码:python

import tesserocr
from PIL import Image
image = Image.open(r'C:\Users\AI\Desktop\image.PNG')
print(tesserocr.image_to_text(image))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "tesserocr.pyx", line 2446, in tesserocr._tesserocr.file_to_text
RuntimeError: Failed to init API, possibly an invalid tessdata path: C:\\
Failed to init API, possibly an invalid tessdata path: C:\\

初始化API失败,多是在路径C:\下存在无效的tessdata,意思是在c:盘中找不到tessdata,因此咱们须要在c盘的目录下添加tessdata文件夹就好了。(若是在pycharm的Python Conconsole中运行命令必定要重启一下控制台否则运行仍是错误,建议在.py文件中写代码只须要从新run一下就好了)web

方法1

若是你安装的Anaconda3安装路径在C盘中,则只须要将tessdata文件夹添加到C盘的目录下就好了。ide

这里写图片描述

代码运行成功:svg

import tesserocr
from PIL import Image
image = Image.open(r'C:\Users\AI\Desktop\image.PNG')
print(tesserocr.image_to_text(image))

D:\Anaconda3\python.exe C:/Users/AI/PycharmProjects/code/Practice1.py
Python3WebSpider
Process finished with exit code 0

方法二

若是你安装的Anaconda3安装路径在其余盘中(我安装在D盘中),则须要C盘的目录下创建一个与Anaconda3安装目录相同的空文件夹,即在C盘目录下新建Anaconda3文件夹,而后在Anaconda3文件夹中添加tessdata文件夹.ui

这里写图片描述

这里写图片描述

代码运行成功:spa

import tesserocr
from PIL import Image
image = Image.open(r'C:\Users\AI\Desktop\image.PNG')
print(tesserocr.image_to_text(image))

D:\Anaconda3\python.exe C:/Users/AI/PycharmProjects/code/Practice1.py
Python3WebSpider
Process finished with exit code 0

其余方法

  • 对于问题invalid tessdata path:C:\后面的盘符是一长串的时候,能够先尝试将tessdata文件夹移动到那个盘符下面,若是不能解决的话能够再尝试上述方法。3d

  • 添加“TESSDATA_PREFIX”到系统环境变量中,值为testdata的父路径(通常就是 Tesseract-OCR 的安装路径)亦可解决。code

  • 在python3.6和Anaconda3安装目录下添加tessdata文件夹。