LinuxHint ha già pubblicato un tutorial che spiega come installare e comprendere la formazione di Tesseract.
Questo tutorial mostra il processo di installazione di Tesseract nei sistemi Debian/Ubuntu ma non estenderà le funzionalità di addestramento, se non hai familiarità con questo software la lettura dell'articolo menzionato potrebbe essere una buona introduzione. Quindi ti mostreremo come elaborare un'immagine GIF con Tesseract per estrarne il testo.
Installazione Tesseract:
Correre:
apt install tesseract-ocr
Ora devi installare imagemagick che è un convertitore di immagini.
Una volta installato possiamo già testare Tesseract, per testarlo ho trovato una gif con licenza per il riutilizzo.
Ora vediamo cosa succede quando eseguiamo tesseract sull'immagine gif:
tesseract 2002NY40.gif 1risultato
Ora fai un "meno" su 1risultato.TXT
meno 1risultato.TXT
Ecco l'immagine con il suo testo:
In questo Tesseract le impostazioni predefinite sono piuttosto accurate, di solito per ottenere tale precisione è necessario un addestramento. Proviamo un'altra immagine gratuita che ho trovato su Wiki Commons, dopo averla scaricata eseguiamo:
tesseract Actualizar_GNULinux_Terminal_apt-get.gif 2risultato
Ora controlla il contenuto del file.
meno 2risultato.TXT
Questo è stato il risultato mentre il contenuto dell'immagine originale era:
Per migliorare il riconoscimento dei caratteri abbiamo molte opzioni e passaggi da seguire che sono stati dettagliati nel nostro tutorial precedente: rimozione dei bordi, rimozione del rumore, ottimizzazione delle dimensioni e rotazione della pagina tra le altre funzioni come il ritaglio.
Per questo tutorial useremo textcleaner, uno script sviluppato da ImageMagick Scripts di Fred.
Scarica lo script ed esegui:
./textcleaner -g -e stretch -f 25 -o 10 -s 1Actualizar_GNULinux_Terminal_apt-get.gif di prova.gif
Nota: prima di eseguire lo script concedigli i permessi di esecuzione eseguendo “chmod +x textcleaner” come radice o con sudo prefisso.
Dove:
pulitore di testo: chiama il programma
-g: Converti l'immagine in scala di grigi
-e: enache
-f: dimensione del filtro
-S: sharpamt,quantità di pixel sharpening da applicare al risultato.
Per informazioni ed esempi di utilizzo con textcleaner visitare http://www.fmwconcepts.com/imagemagick/textcleaner/index.php
Come vedi textcleaner ha cambiato il colore di sfondo, aumentando il contrasto tra il carattere e lo sfondo.
Se eseguiamo tesseract probabilmente il risultato sarà diverso:
test tesseract.gif testoutputmeno testoutput
Come vedi il risultato è davvero migliorato anche quando non è completamente preciso.
Il comando convertire fornito da imagemagick ci consente di estrarre i frame dalle immagini gif per essere elaborati in seguito da Tesseract, questo è utile se c'è contenuto extra in diversi frame dell'immagine gif.
La sintassi è semplice:
convertireIl risultato verrà generato come numero di file come frame nella gif, nell'esempio fornito i risultati sarebbero: uscita-0.jpg, uscita-1.jpg, uscita-2.jpg, eccetera.
Quindi puoi elaborarli con tesseract, indicandogli di elaborare tutti i file con un carattere jolly salvando il risultato in un singolo file eseguendo:
for i in output-* ; do tesseract $i outputresult; fatto;Imagemagick ha una grande varietà di opzioni per ottimizzare le immagini e non esiste una modalità generica, per ogni tipo di scenario dovresti leggere la pagina man del comando di convert.
Spero che tu abbia trovato utile questo tutorial su Tesseract.