pytesseract 找不到指定的文件

pytesseract cannot find the file specified

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

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 片段时代码现在崩溃了。

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

首先,请确保您有 installed/copied Tesseract-OCR executables

Windows 在您的 PATH 环境变量中指定的目录中找不到可执行文件 tesseract。因此,要么确保包含 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