Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 22 del 21/08/2011 14.05.59

Nascondi questo messaggio


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.

OCRFeeder

A differenza di Tesseracte CuneiForm, OCRFeeder dispone di una interfaccia grafica che è strumento indispensabile per un utente alle prime armi con un sistema Linux.

Installazione

Installare il pacchetti ocrfeeder.

Utilizzo

E' stato detto che OCRFeeder è dotato di interfaccia grafica ed è quindi di semplice utilizzo, ma può essere utilizzato anche da riga di comando digitando in un terminale:

ocrfeeder-cli -i input1.jpg input2.jpg -f html -o output.htm

I file di input input1.jpg e input2.jpg verranno processati e si otterrà il file di output output.htm.

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 

File pdf multipagina

Pdfocr è uno script che utilizza Cuneiform che esegue l'OCR su un file .pdf multipagina, ed incorpora anche il testo all'interno di un file .pdf come un livello di testo ricercabile. Lo stesso script può essere ottenuto da Github o dal PPA. Per utilizzarlo, digitare in un terminale:

pdfocr -i input.pdf -o output.pdf 

Sostituendo input.pdf con il nome del file di input ed output.pdf con il nome del file di output.

Ulteriori risorse


CategoryGrafica