1. 程式人生 > >【python】呼叫tesseract時報錯

【python】呼叫tesseract時報錯

import pytesseract
from PIL import Image

image = Image.open('image.png')
print(pytesseract.image_to_string(image))

第一次通過pytesseract呼叫tesseract時,執行後報錯:

  1. Traceback(mostrecentcalllast):
  2. File "d:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 260, in get_tesseract_version
  3. [tesseract_cmd, '--version'], stderr=subprocess.STDOUT 
  4. .....(部分省略)
  5. pytesseract.pytesseract.TesseractNotFoundError: tesseract.exe is not installed or it's not in your path

根據第4行報錯提示,初步懷疑是環境變數的原因

於是檢查了本機環境變數的設定,發現都設定無誤

再進行判斷查看了第2、3行的報錯資訊:tesseract_cmd --version

於是進入python包lib\site-packages\pytesseract\  修改了pytesseract.py裡面的這段原始碼:

numpy_installed = find_loader('numpy') is not None
if numpy_installed:
    from numpy import ndarray

# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
tesseract_cmd = 'tesseract'
RGB_MODE = 'RGB'
OSD_KEYS = {

修改為下面這樣:

numpy_installed = find_loader('numpy') is not None
if numpy_installed:
    from numpy import ndarray

# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
#tesseract_cmd = 'tesseract'
tesseract_cmd = r'D:\Program Files (x86)\Tesseract-OCR\tesseract.exe'
RGB_MODE = 'RGB'
OSD_KEYS = {

在此執行,能正常識別圖片的文字。