tesseract python 系统找不到指定的文件

tesseract python The system cannot find the file specified

我正在 运行 使用 Tesseract 的 python 测试框架。

当我 运行 使用 tesseract 的测试时,我收到以下错误:

WindowsError: [Error 2] The system cannot find the file specified

我设法浏览了日志,发现它在以下位置中断:

File "C:\Python27\lib\subprocess.py", line 212, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "C:\Python27\lib\subprocess.py", line 390, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 640, in _execute_child
startupinfo)

子进程由来自框架的非 python lib 命令调用

def process_frame_text(single_char=False):
    tess_list = ['tesseract', 'tmp/ocr_image.png', 'tmp/ocr_output']
    tess_list += ['-psm', '10'] if single_char else []
    check_output(tess_list, stderr=STDOUT)[:-1]

我已经在我的机器上安装了 windows Tesseract C:\Program Files x86\Tesseract-OCR

感谢您的想法。

谢谢

显然,subprocess 模块无法找到 tesseract.exe 并从 Windows shell 调用它。如果可执行文件的路径 C:\Program Files x86\Tesseract-OCR 未添加到 Windows environment variables,则修改 tess_list 以提供完整的文件路径。

编辑:

对于你的情况,应该设置:

  • TESSDATA_PREFIX = C:\Program Files x86\Tesseract\tessdata 指向训练好的语言数据文件。
  • C:\Program Files (x86)\Tesseract-OCR也就是tesseract.exe文件路径应该作为附加值添加到Windows系统PATH变量中,例如 PATH=%PATH%;"C:\Program Files (x86)\Tesseract-OCR" 如果添加者 临时使用的命令。