Pyocr无法识别get_available_languages

2 投票
2 回答
3393 浏览
提问于 2025-04-18 07:51

我在用Python,但无法从pyocr这个包里加载语言。

from PIL import Image
import sys
import pyocr
from pyocr import builders
im=Image.open("Img1.gif")
tool=pyocr.get_available_tools()
lang = tool.get_available_languages()[0]

我遇到了“列表对象没有'get_available_languages'这个属性”的错误。

有没有人知道怎么解决这个问题?我之前从来没用过pyocr。

谢谢!

2 个回答

0

如果 len(tool) == 0(这是你在另一个评论中提到的),这意味着 tesseract 没有在你的 PATH 中。换句话说,如果你在命令行中不能运行 Tesseract,那么 PyOCR 也找不到它。

1

这个tools是一个工具列表,你需要逐个查看这些工具;列表里的每一项都是一个独立的工具:

for tool in pyocr.get_available_tools():
    for lang in tool.get_available_languages():
        print("Tool {} supports language {}".format(tool, lang))

另外,如果你已经知道想用tesseract这个工具,可以直接导入它:

from pyocr import tesseract as tool

不过,这个工具列表是根据你电脑上安装的程序来显示的;要在pyocr中使用tesseract工具,你需要先安装单独的tesseract程序。如果这个程序在你的命令路径中被找到,get_available_tools()就会列出tesseract。pyocr还支持另一个工具cuneiform

撰写回答