我正在尝试在运行Windows 7的计算机上安装PyOCR。我已经安装了 Tesseract-OCR 3.05 for Windows,并将包含 Tesseract (C:\Program Files (x86(\Tesseract-OCR( 的目录添加到 PATH 用户变量 Path 系统变量中,并与 Tesseract 目录TESSDATA_PREFIX创建新的系统变量。
我能够直接从命令行使用 Tesseract 来处理图像,因此我相信 Tesseract 已正确安装。我还确保使用 C/C++ 库文件安装 Tesseract。
我知道这个问题以前有人提出过,但由于我已经将目录添加到环境变量中,我不确定接下来要尝试什么。
下面是"get_available_tools(("方法的输出。
Python 3.6.3 |Anaconda custom (64-bit)| (default, Oct 15 2017, 03:27:45)
[MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyocr
>>> import pyocr.builders
>>> pyocr.get_available_tools()
[]
>>>
get_available_tools()
返回">本地系统上可用的OCR工具"列表(请参阅源代码(。据我了解,pyocr 在 PATH 中检查可用的工具,您必须自己安装这些工具。
目前,Pyocr 支持以下 OCR 工具:
- Libtesseract (Python bindings for the C API(
- Tesseract (包装器:fork + exec(
- 楔形文字(包装器:叉子+执行(
如果您已安装此类工具,但由于某种原因您的本地路径中没有它们(如我(,您可以随时像这样覆盖它:
pyocr.tesseract.TESSERACT_CMD = r'<full_path_to_your_tesseract_executable>'
pyocr.cuneiform.CUNEIFORM_CMD = r'<full_path_to_your_cuneiform_executable>'
使用 libtesseract-4 时遇到类似的问题.dll:工具列表为空。
正如我发现 pyocr 正在使用返回 0.0.0 的get_version.作为解决方法,我在安装上修补了get_version以返回适当的值。
这是有效的,因为传递参数,尤其是 -psm/--psm 参数取决于 get_version(( 的结果。
该问题被接受为错误,似乎已由作者修复很快。https://gitlab.gnome.org/World/OpenPaperwork/pyocr/issues/106