Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Con l'acronimo OCR (Optical Character Recognition), si indica una tecnologia che consente di convertire le scansioni contenente testo, in testo semplice. Ciò permette di risparmiare spazio sul disco, modificare il testo o fare ricerche all'interno di esso. Strumenti OCR di largo utilizzo per i sistemi Linux sono: OCRFeeder, Tesseract, CuneiForm e Easy-OCR-2.5.
Tesseract
Installazione
Installare i pacchetti tesseract-ocr, ocrad e gocr presenti nel componente universe dei repository ufficiali.
Utilizzo
Tesseract è attualmente uno strumento utilizzabile da riga di comando. Dopo averlo installato, il programma può essere usato digitando in una finestra di terminale il seguente comando:
tesseract <percorso del file TIFF> <nome del file di output>
Tesseract darà automaticamente al file generato l'estensione .txt. È importante che l'immagine abbia l'estensione .tif e non .tiff. Il comando, quindi, dovrebbe apparire come segue:
tesseract /home/utente/input.tif output
Dove utente è il nome della cartella Home dell'account in uso, input.tif è il documento che deve essere convertito e output è il documento che Tesseract creerà come output.txt. L'estensione .txt sarà aggiunta automaticamente da Tesseract.
Preparare le immagini
Tesseract accetta solo immagini con l'estensione .tiff. Per ottimizzare le immagini per l'acquisizione con Tesseract, dopo essersi assicurati di avere installato GIMP, procedere come segue:
aprire GIMP e andare nel menù Immagine → Modalità ed assicurarsi che l'immagine sia RGB o in Scala di grigi.
Selezionare dal menù Strumenti → Colore → Soglia e scegliere un valore di soglia adeguato.
Selezionare dal menù Immagine → Modalità → Indicizzata e dalle opzioni selezionare 1-bit e Nessun dithering.
Usare Tesseract con PDF multipagine
Spesso, i documenti scansionati vengono salvati come immagini in documenti .pdf. Usando ImageMagick (installabile tramite il pacchetto imagemagick), le singole pagine possono essere estratte come file .tiff per poi essere processate con Tesseract. Il seguente script può aiutare ad automatizzare il processo.
PAGINE=100 # set to the number of pages in the PDF SORGENTE=book.pdf # set to the file name of the PDF OUTPUT=book.txt # set to the final output file RESOLUTION=600 # set to the resolution the scanner used (the higher, the better) touch $OUTPUT for i in `seq 1 $PAGINE`; do convert -monochrome -density $RESOLUTION $SORGENTE\[$i\] page$i.tif tesseract page$i.tif page$i cat $OUTPUT page$i.txt > temp.txt rm $OUTPUT rm page$i.tif rm page$i.txt mv temp.txt $OUTPUT done
Dopo aver avviato lo script, il testo trasformato dall'OCR dovrebbe essere contenuto nel file libro.txt.
Cuneiform
== Installazione==
Installare il pacchetto cuneiform.
Da jpeg a txt
Il seguente è un esempio aneddotico. Ha avuto successo nella traduzione di alcune schermate jpeg di una area messaggi internet in un testo utile/file semplice con lo script:
if [ "$1" ] && [ -e "$1" ]; then TMPF=$(mktemp XXXXXXXX.tif) DEST="$2" if [ ! "$DEST" ]; then DEST="${1%.*}.txt" if [ -e "$DEST" ]; then echo "$DEST already exists; please provide a new textfile name" >&2 exit 1 fi fi /usr/bin/convert "$1" -colorspace Gray -depth 8 -resample 200x200 $TMPF \ && /usr/bin/cuneiform -o "$DEST" $TMPF EX=$? /bin/rm -f $TMPF [ $EX -eq 0 ] && [ "$TERM" ] && echo "created $DEST" exit $EX else echo "Usage: $0 imagefile [textfile]" >&2 echo " creates a plain text file with the text found in imagefile" >&2 exit 1 fi