Estrarre testo da immagini con Python e PyOCR

Mattepuffo's logo
Estrarre testo da immagini con Python e PyOCR

Estrarre testo da immagini con Python e PyOCR

PyOCR è un wrapper OCR per Python.

Il che vuol dire che nel sistema è necessario avere un OCR installato.

Quelli compatibili sono (da documentazione):

  • Libtesseract (Python bindings for the C API)
  • Tesseract (wrapper: fork + exec)
  • Cuneiform (wrapper: fork + exec)

Una volta che vi siete assicurati di averne uno, installate la libreria con pip:

pip install pyocr

Qui sotto un esempio di codice:

from PIL import Image
import sys
import pyocr.builders

# CONTROLLIAMO SE C'È UN OCR INSTALLATO
# IN CASO NEGATIVO USCIAMO
tools = pyocr.get_available_tools()
if len(tools) == 0:
    print("Nessun OCR trovato")
    sys.exit(1)

# USIAMO IL PRIMO OCR CHE TROVIAMO NELLA LISTA
tool = tools[0]
print("ORC usato '%s'" % (tool.get_name()))

# LISTIAMO TUTTE LE LINGUE DISPONIBILI
langs = tool.get_available_languages()
print("Lingue disponibili: %s" % ", ".join(langs))

# USIAMO LA PRIMA LINGUA DISPONIBILE
lang = langs[0]
print("Lingua usata '%s'" % lang)

# ESEGUIAMO LA LETTURA DELL'IMMAGINE
txt = tool.image_to_string(
    Image.open('img.jpg'),
    lang=lang,
    builder=pyocr.builders.TextBuilder()
)

print('--------')
print(txt)

Enjoy!


Condividi

Commentami!