Wiki Ubuntu-it

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

Versione 45 del 09/10/2021 17.00.45

Nascondi questo messaggio


Problemi in questa pagina? Segnalali in questa discussione

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.

Installare i motori OCR

Installare i pacchetti ocrfeeder, tesseract-ocr, ocrad, gocr

Uso da interfaccia grafica

  1. Per avviare l'applicazione:

    • Unity e GNOME: avviare OCRFeeder.

    • MATE: selezionare Applicazioni → Ufficio → OCRFeeder.

    • KDE: selezionare Menu → Applicazioni → Ufficio → OCRFeeder.

    • Xfce: selezionare Menu → Ufficio → OCRFeeder.

    • LXDE: selezionare Menu → AUfficio → OCRFeeder.

  2. Con il + in alto a sinistra selezionare il file da convertire.

  3. Con il simbolo immediatamente a destra avviare la conversione.

È possibile modificare le opzioni di conversioni con i menu a destra. In particolare è possibile scegliere un motore di conversione diverso da quello predefinito.

Uso dal terminale

Tesseract

Tesseract accetta solo immagini con l'estensione .tif. Per ottimizzare le immagini per l'acquisizione con Tesseract, dopo essersi assicurati di avere installato GIMP, procedere come segue:

  1. Aprire GIMP e andare nel menù Immagine → Modalità ed assicurarsi che l'immagine sia RGB o in Scala di grigi.

  2. Selezionare dal menù Strumenti → Colore → Soglia e scegliere un valore di soglia adeguato.

  3. Selezionare dal menù Immagine → Modalità → Indicizzata e dalle opzioni selezionare 1-bit e Nessun dithering.

    È importante che l'immagine abbia l'estensione .tif e non .tiff.

  4. Dovrà essere digitato nel terminale un comando nella forma:

    tesseract <percorso del file TIFF> <nome del file di output>

    Supponendo che la propria Home si chiami /home/mario, che al suo interno vi sia il file input.tif e che si voglia generare il file di testo output.txt, il comando diverrà:

    tesseract /home/mario/input.tif output

    Tesseract darà automaticamente al file generato l'estensione .txt.

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.
Di seguito viene mostrato l'utilizzo di uno script per automatizzare il processo:

  1. Creare nella propria Home il file per lo script e aggiungere i premessi di esecuzione digitando nel terminale i comandi:

    touch tesseract_multipagine.sh
    chmod +x tesseract_multipagine.sh
  2. Aprire con un editor di testo il file tesseract_multipagine.sh e copiare al suo interno le seguenti stringhe:

    #!/bin/bash
    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
    Salvare quindi il file.
  3. Prima dell'utilizzo impostare le voci:
    • PAGINE: inserire il numero di pagine desiderato.

    • SORGENTE: indicare il nome del file da trasformare in .pdf.

    • OUTPUT: indicare il nome del nuovo documento in .pdf.

    • RESOLUTION: impostare la risoluzione desiderata.

  4. Per avviare lo script digitare:

    ./tesseract_multipagine.sh

Cuneiform

Installare il pacchetto cuneiform.

Viene qui mostrata una procedura tramite script per trasformare immagini contenenti testo (.jpg, meglio se .tif) in file di testo semplice .txt.

  1. Creare nella propria Home il file per lo script e aggiungere i premessi di esecuzione digitando nel terminale i comandi:

    touch script_cuneiform.sh
    chmod +x script_cuneiform.sh
  2. Aprire con un editor di testo il file script_cuneiform.sh e copiare al suo interno le seguenti stringhe:

    #!/bin/bash
    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
    Salvare quindi il file e chiuderlo.
  3. Supponendo che nella propria Home sia presente un file immagine con il nome immagine.tif da trasformare in file di testo, il comando per eseguire lo script sarà:

    ./script_cuneiform.sh immagine.tif

    Al termine verrà creato nella medesima cartella il file immagine.txt.

Ulteriori risorse


CategoryGrafica CategoryDaRevisionare