PyOCR - get_availables_tools()返回一个空列表/可以从命令行访问tesseract

时间:2018-03-07 23:30:14

标签: python path ocr tesseract

我正在尝试在运行Windows 7的计算机上安装PyOCR。我已经为Windows安装了Tesseract-OCR 3.05并且已经将包含Tesseract(C:\ Program Files(x86)\ Tesseract-OCR)的目录添加到PATH用户变量,Path System Variable,并使用Tesseract目录创建新的系统变量TESSDATA_PREFIX。

我可以直接从命令行使用Tesseract来处理图像,因此我确信Tesseract已正确安装。我还确保使用C / C ++库文件安装Tesseract。

我知道此问题已经提出过,但由于我已将目录添加到环境变量中,因此我不确定接下来要尝试什么。

以下是" get_available_tools()"的输出。方法

{MaterialCR.MaterialId} = {?MaterialId}

2 个答案:

答案 0 :(得分:0)

使用libtesseract-4.dll遇到类似的问题:工具列表为空。

我发现pyocr正在使用get_version返回0.0.0。 作为一种解决方法,我在安装中修补了get_version 给予适当的价值。

之所以可行,是因为传递的参数特别是-psm / --psm参数取决于get_version()的结果。

该问题已被视为错误,并且似乎已由作者解决。 不久。 https://gitlab.gnome.org/World/OpenPaperwork/pyocr/issues/106

答案 1 :(得分:0)

get_available_tools()返回“本地系统上可用的 OCR工具”列表(请参见source code)。据我了解,pyocr在PATH中检查可用工具,您必须自行安装。

目前,Pyocr支持以下OCR工具:

  • Libtesseract(C API的Python绑定)
  • Tesseract(包装:fork + exec)
  • 楔形文字(包装:fork + exec)

如果您已经安装了此类工具,但由于某种原因(例如我)没有将其放置在本地路径中,则可以始终这样覆盖它:

pyocr.tesseract.TESSERACT_CMD = r'<full_path_to_your_tesseract_executable>'
pyocr.cuneiform.CUNEIFORM_CMD = r'<full_path_to_your_cuneiform_executable>'