Come installare e utilizzare Easyocr in Linux

Come installare e utilizzare Easyocr in Linux
Questo articolo coprirà una guida sull'installazione e l'utilizzo dello strumento di riga di comando easyocr e del modulo Python. Disponibile come applicazione gratuita e open source, può essere utilizzato per identificare ed estrarre il testo dalle immagini. Utilizza la tecnologia OCR (Optical Character Recognition) e una varietà di algoritmi e modelli linguistici diversi per rilevare il testo.

Caratteristiche principali di Easyocr

Easyocr può rilevare il testo in oltre 80 lingue e script. Include modelli pre-addestrati per queste lingue, ma puoi usare Easyocr per addestrare i tuoi modelli da zero. Oltre al contenuto basato su testo digitale e stampato presente nelle immagini, Easyocr può anche rilevare ed estrarre testo scritto a mano. Altre caratteristiche principali di Easyocr includono la capacità di elaborare in batch più immagini contemporaneamente, la capacità di limitare e bloccare determinati caratteri da una lingua, un'opzione per convertire le linee estratte in paragrafi, la capacità di ridimensionare e ingrandire le immagini per migliorare l'accuratezza del rilevamento e così via.

Installazione di Easyocr in Linux

È possibile installare Easyocr in Linux utilizzando il Gestione pacchetti PIP. Per installare PIP Package Manager in Ubuntu, utilizzare il comando seguente:

$ sudo apt install python3-pip

Il gestore dei pacchetti PIP è disponibile nei repository ufficiali di molte distribuzioni Linux, quindi è possibile installarlo dal gestore dei pacchetti di azioni. Puoi anche seguire le istruzioni di installazione ufficiali disponibili qui per installare il gestore dei pacchetti PIP nel sistema Linux.

Dopo aver installato correttamente il gestore dei pacchetti PIP, eseguire il seguente comando per installare Easyocr in Linux:

$ pip3 installa easyocr

Usando Easyocr in Linux

La seguente immagine verrà utilizzata per estrarre il testo attraverso vari comandi Easyocr spiegati di seguito:

Per estrarre il testo dall'immagine sopra, dovrai eseguire un comando nel seguente formato:

$ easyocr -l en -f immagine.png

La prima opzione "-L" può essere utilizzata per specificare la lingua del contenuto di testo che si desidera essere catturato da Easyocro. È possibile specificare più lingue utilizzando i codici di lingua separati di comando. L'interruttore "-f" viene utilizzato per specificare il file di immagine di input. Un elenco di tutte le lingue supportate da Easyocr e i loro codici possono essere trovati qui (scorri verso il basso per vederli).

Dopo aver eseguito il comando sopra, dovresti vedere seguendo l'output nel terminale:

L'output mostra determinati numeri e il testo estratto dall'immagine. Questo output può essere letto nel seguente formato: Coordinate dei singoli pezzi di testo> Testo rilevato> Livello di confidenza. Quindi i numeri sul lato sinistro rappresentano le coordinate delle caselle di testo identificate mentre il numero sul lato più destro indica quanto sia accurato il testo estratto.

Se vuoi solo ricevere il testo rilevato in forma leggibile umana, aggiungi “-detail 0”, passa al comando sopra:

$ easyocr -l en -detail 0 -f immagine.png

Dopo aver eseguito il comando sopra, dovresti ottenere un output simile a questo:

Come puoi vedere nell'output, il testo estratto non è nell'ordine corretto. Puoi provare l'opzione "-paragraph true" per unire singoli pezzi e frasi in ordine corretto.

$ easyocr -l en -detail 0 -paragrafo true -f immagine.png

Dopo aver eseguito il comando sopra, dovresti ottenere un output simile a questo:

Si noti che a seconda della qualità e della chiarezza di un'immagine e del contenuto di testo dell'immagine, alcune inesattezze possono essere sempre presenti nel testo estratto e potrebbe essere necessario effettuare correzioni manuali per ripararli.

Per salvare il testo identificato in un file esterno, utilizzare il simbolo ">" e fornire un nome per il file di output. Ecco un comando di esempio:

$ easyocr -l en -detail 0 -paragrafo true -f immagine.PNG> output.TXT

Per saperne di più su tutte le opzioni della riga di comando supportate da Easyocr, usa il seguente comando:

$ easyocr - -help

Usando Easyocr nei programmi Python

Easyocr è disponibile anche come biblioteca Python, quindi puoi importare il suo modulo principale nei tuoi programmi Python. Di seguito è riportato un esempio di codice che illustra il suo utilizzo in un programma Python:

Importa Easyocr
lettore = easyocr.Lettore (['en'])
risultato = lettore.readtext ('immagine.png ', dettaglio = 0, paragrafo = true)
con aperto ("output.txt "," w ") come f:
per linea in risultato:
Stampa (riga, file = f)

La prima affermazione viene utilizzata per importare il modulo "Easyocr" nel tuo programma Python. Successivamente, viene creata una nuova istanza di classe "Reader" (classe base) fornendo un elenco di lingue supportate da Easyocr come argomento principale. Se la tua immagine contiene testo in più lingue, è possibile aggiungere più codici linguistici all'elenco. Successivamente, il metodo "ReadText" viene chiamato sull'istanza "Reader" e il percorso del file di immagine viene fornito come primo parametro. Questo metodo identificherà ed estrarre il testo dall'immagine fornita. I due argomenti opzionali, "dettaglio" e "paragrafo" sono uguali alle opzioni di riga di comando spiegate sopra. Semplificano il testo rimuovendo elementi non necessari.

Dopo aver eseguito il comando sopra, dovresti avere la riga seguente in "Output.file txt ":

Puoi leggere di più sull'API Python di Easyocr da qui. Una versione online di Easyocr è disponibile qui per testare.

Conclusione

Easyocr è uno strumento di estrazione del testo della riga di comando fornito con modelli pre-addestrati per numerose lingue. Ciò rende facile per gli utenti finali identificare rapidamente ed estrarre il testo dalle immagini senza avere i propri modelli di lingua. Fornisce inoltre coordinate dettagliate per le scatole di delimitazione intorno a parole identificate e tokenizzate, rendendo facile analizzare singoli pezzi di testi.