1. 程式人生 > >使用tesserocr.file_to_text("path")報錯Failed to init API, possibly an invalid tessdata path: C:\\

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

在配置tessdata時出現很多問題,上網查閱了很多的部落格,終於將問題解決了,現在整理如下:
在安裝完tesserocr後執行如下程式碼:

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一下就行了)

方法1

如果你安裝的Anaconda3安裝路徑在C盤中,則只需要將tessdata資料夾新增到C盤的目錄下就行了。

這裡寫圖片描述

程式碼執行成功:

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資料夾.

這裡寫圖片描述

這裡寫圖片描述

程式碼執行成功:

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資料夾移動到那個碟符下面,如果不能解決的話可以再嘗試上述方法。

  • 新增“TESSDATA_PREFIX”到系統環境變數中,值為testdata的父路徑(一般就是 Tesseract-OCR 的安裝路徑)亦可解決。

  • 在python3.6和Anaconda3安裝目錄下新增tessdata資料夾。