我正在运行一个使用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
欣赏你的想法。
由于
答案 0 :(得分:3)
显然,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"
临时使用的命令。