18

我的代码很简单,如下所示:

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 片段时会崩溃。

4

1 回答 1

56

刚刚遇到同样的错误并决定回答这个问题 - 它可能会帮助某人节省时间......

首先,确保您已安装/复制 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_PREFIX Windows环境变量设置为包含目录的tessdata目录。例如:

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

如果tessdata位置是:C:\Program Files (x86)\Tesseract-OCR\tessdata

于 2016-03-06T18:02:26.287 回答