web-dev-qa-db-ja.com

pytesseractは指定されたファイルを見つけることができません

私のコードは簡単で、次のとおりです。

_import pytesseract
from PIL import Image

img = Image.open('C:/temp/foo.jpg')
img.load()
i = pytesseract.image_to_string(img)
_

返されるエラー応答は次のとおりです。

_Traceback (most recent call last):
  File "img.py", line 6, in <module>
    i = pytesseract.image_to_string(img)
  File "build\bdist.win32\Egg\pytesseract\pytesseract.py", line 161, in image_to
_string
  File "build\bdist.win32\Egg\pytesseract\pytesseract.py", line 94, in run_tesse
ract
  File "C:\Users\%USER%\AppData\Local\Continuum\Anaconda\lib\subprocess.py",
line 710, in __init__
    errread, errwrite)
  File "C:\Users\%USER%\AppData\Local\Continuum\Anaconda\lib\subprocess.py",
line 958, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
_

任意のガイダンスは素晴らしいでしょう。

パス変数にtesseractを追加すると助けになりました:C:\Program Files (x86)\Tesseract-OCR

しかし、pytesseractピースを実行しようとすると、コードがクラッシュします。

18
jason m

同じエラーを見つけて、この質問に答えることを決めた-それは誰かが時間を節約するのに役立つかもしれません...

まず、 Tesseract-OCR実行可能ファイルをインストール/コピー していることを確認してください。

Windowsは、tesseract環境変数で指定されたディレクトリで実行可能ファイルPATHを見つけることができません。したがって、tesseractを含むディレクトリがPATH変数にあることを確認するか、Pythonスクリプトを次のように指定してください)でtesseract_cmd変数を上書きします(代わりにPATHを入力します) :

import pytesseract

pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'

それに加えて、TESSDATA_PREFIXWindows環境変数がtessdataディレクトリを含むディレクトリに設定されていることを確認してください。例えば:

TESSDATA_PREFIX=C:\Program Files (x86)\Tesseract-OCR

tessdataロケーションが次の場合:C:\Program Files (x86)\Tesseract-OCR\tessdata

51
MaxU