Pyocr не распознает get_available_languages

Я использую 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.

Спасибо


person GabyLP    schedule 28.05.2014    source источник
comment
tool должен быть списком, но я получаю len(tool)=0   -  person GabyLP    schedule 28.05.2014


Ответы (2)


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

Однако список инструментов отражает программы, установленные в системе; для включения инструмента tesseract в pyocr необходимо установить отдельную программу tesseract. Если он найден в пути к команде, в get_available_tools() будет указан tesseract. Другой инструмент, поддерживаемый pyocr, — это cuneiform.

person Antti Haapala    schedule 28.05.2014
comment
да, я знаю, дело в том, что я ничего не получаю из списка. Если я запускаю len(tool), я получаю 0 - person GabyLP; 28.05.2014

Если len(tool) == 0 (что вы предложили в другом комментарии), это означает, что tesseract нет в вашем PATH. Другими словами, если вы не можете запустить Tesseract из своей оболочки, PyOCR тоже не найдет его.

person Jerome Flesch    schedule 07.10.2016
comment
Я могу запустить из оболочки, но PyOCR просто не найдет - person pceccon; 14.11.2017
comment
PyOCR специально ищет команду «tesseract» в вашем PATH. Он называется «tesseract» или имеет какое-либо другое имя, например, «tesseract-ocr»? - person Jerome Flesch; 14.11.2017