Pyocr tidak mengenali get_available_linguals

Saya menggunakan Python dan tidak dapat memuat bahasa dari paket 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]

di sini saya mendapat "objek daftar tidak memiliki atribut 'get_available_linguals'

Adakah ide tentang cara mengatasinya? Saya belum pernah menggunakan pyocr.

Terima kasih


person GabyLP    schedule 28.05.2014    source sumber
comment
alat harus berupa daftar, tetapi saya mendapatkan len(alat)=0   -  person GabyLP    schedule 28.05.2014


Jawaban (2)


tools adalah daftar, dan Anda perlu mengulanginya; itemnya adalah alat individual:

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

Alternatifnya, misalnya Anda ingin menggunakan tesseract, Anda dapat mengimpornya secara langsung:

from pyocr import tesseract as tool

Namun daftar alat mencerminkan program yang diinstal pada sistem; untuk mengaktifkan alat tesseract di pyocr Anda perlu menginstal program tesseract terpisah. Jika ditemukan di jalur perintah, get_available_tools() akan mencantumkan tesseract. Alat lain yang didukung oleh pyocr adalah cuneiform.

person Antti Haapala    schedule 28.05.2014
comment
ya, saya tahu, masalahnya saya tidak mendapatkan apa pun dari daftar. Jika saya menjalankan len(tool) saya mendapatkan 0 - person GabyLP; 28.05.2014

Jika len(tool) == 0 (yang Anda sarankan di komentar lain), berarti tesseract tidak ada di PATH Anda. Dengan kata lain, jika Anda tidak dapat menjalankan Tesseract dari shell Anda, PyOCR juga tidak akan menemukannya.

person Jerome Flesch    schedule 07.10.2016
comment
Saya dapat menjalankan dari shell, tetapi PyOCR tidak dapat menemukannya - person pceccon; 14.11.2017
comment
PyOCR secara khusus mencari perintah 'tesseract' di PATH Anda. Apakah bernama 'tesseract' atau ada nama lain seperti 'tesseract-ocr' misalnya? - person Jerome Flesch; 14.11.2017