## page was renamed from Grafica/OCR
#format wiki
#LANGUAGE it
<<BR>>
<<Include(NuoviStrumentiWiki/PaginaDiProva)>>
<<Indice(depth=2)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=475794"; rilasci="22.04 21.10 20.04 16.04")>>

= Introduzione =

Con l'acronimo OCR (Optical Character Recognition), si indica una suite di riconoscimento ottico dei caratteri, che consente di convertire le scansioni documenti o immagini contenente testo, in testo semplice. Ciò permette di risparmiare spazio sul disco, modificare il testo o fare ricerche all'interno di esso.

Strumenti OCR, per i sistemi Linux sono: '''OCRFeeder''', '''gImageReader''', '''YAGF''', '''Tesseract''' e '''!CuneiForm'''.

= Motori OCR =

== Tesseract ==

Occorre configurare i motori OCR (Optical Character Recognition), uno dei principali, molto utilizzato è senz'altro [[#Tesseract|Tesseract]].

{{{#!wiki important
'''Tesseract''' accetta solo immagini con l'estensione `.tif`. L'immagine non deve avere estensione file `.tiff`.
}}}

 * [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt:/tesseract-ocr|tesseract-ocr]].

=== Lingua di conversione ===

{{{#!wiki note
Per quanto riguarda il funzionamento alla conversione è necessario installare i pacchetti delle lingue di traduzione. Consultare la [[https://manpages.ubuntu.com/manpages/jammy/man1/tesseract.1.html|pagina manuale]].
}}}

Per convertire testi in Italiano, installare il pacchetto [[apt://tesseract-ocr-ita|tesseract-ocr-ita]].

== Ocrad ==

 * [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt:/ocrad|ocrad]].

== Gocr ==

 * [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt:gocr|gocr]].

= Acquisizione da terminale =

Per ottimizzare le immagini per l'acquisizione con '''Tesseract''', assicurarsi che l'immagine sia '''RGB''' o in '''Scala di grigi'''.<<BR>>Procedere come segue:

 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
tesseract <percorso del file TIFF> <nome del file di output> [OPTIONS] [CONFIGFILE]
}}}

{{{#!wiki note
Sostituire `<percorso del file TIFF>` con il percorso e il nome del file di input da convertire.<<BR>>Sostituire `<nome del file di output>`  con il percorso e il nome del output.
}}}

== PDF multipagine ==

Spesso, i documenti scansionati vengono salvati come immagini in documenti `.pdf`.<<BR>>Usare '''!ImageMagick'''.

{{{#!wiki note
Le singole pagine possono essere estratte come file `.tiff` per poi essere processate con '''Tesseract'''.
}}}

 * [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://imagemagick|imagemagick]] e [[apt://convert|convert]].

Di seguito viene mostrato l'utilizzo di uno [[Programmazione/Script|script]] per automatizzare il processo:

 0. Creare nella propria '''Home''' il file per lo script.
 0. Aprire con un [[Ufficio/EditorDiTesto|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
}}}
 0. Prima dell'utilizzo impostare nel file `tesseract_multipagine.sh` le voci come da tabella:

||<rowstyle="background-color: #dddddd;":> '''Voce''' ||<50%:>'''Descrizione''' ||
||<style="background-color: #f7f7f7;":>  '''PAGINE''' || inserire il numero di pagine desiderato ||
||<style="background-color: #f7f7f7;":>  '''SORGENTE''' || indicare il nome del file da trasformare in `.pdf` ||
||<style="background-color: #f7f7f7;":>  '''OUTPUT''' || indicare il nome del nuovo documento in `.pdf` ||
||<style="background-color: #f7f7f7;":>  '''RESOLUTION''' || impostare la risoluzione desiderata ||

 Salvare quindi il file. Uscire dall'editor di testo.
 0. Aggiungere i [[AmministrazioneSistema/PermessiFile#Assegnare_i_permessi_di_esecuzione|premessi di esecuzione]], digitare nel [[AmministrazioneSistema/Terminale|terminale]] i comandi:{{{
chmod +x tesseract_multipagine.sh
}}}
 0. Per avviare lo script digitare:{{{
./tesseract_multipagine.sh
}}}

== Cuneiform ==

'''Cuneiform''', oltre al riconoscimento del testo, esegue anche l'analisi del layout e riconoscimento del formato del testo. Supporta diverse lingue.

[[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://cuneiform|cuneiform]] e [[apt://convert|convert]].

Viene qui mostrata una procedura tramite [[Programmazione/Script|script]] per trasformare immagini (`.jpg`, meglio se `.tif`) contenenti testo, in file di testo `.txt` semplice.

 0. Creare e aprire con un [[Ufficio/EditorDiTesto|editor di testo]] nella propria '''Home''' il file script `script_cuneiform.sh`.
 0. 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.
 0. Aggiungere i [[AmministrazioneSistema/PermessiFile#Assegnare_i_permessi_di_esecuzione|premessi di esecuzione]], digitare nel [[AmministrazioneSistema/Terminale|terminale]] i comandi:{{{
chmod +x script_cuneiform.sh
}}}

=== Avviare lo script ===

[[Programmazione/Script|Eseguire lo script]], digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
./script_cuneiform.sh /percorso_file/immagine.tif
}}} Al termine verrà creato nella medesima cartella il file `immagine.txt`.

{{{#!wiki note
Sostituire `/percorso_file/immagine.tif`, con il percorso_file dell'immagine da convertire in file di testo.
}}}

= Uso da interfaccia grafica =

== OCRFeeder ==

'''OCRFeeder''' è fornito di una pratica interfaccia grafica ai motori OCR. Riproduce pagine di un documento cartaceo in digitale.

[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt:/ocrfeeder|ocrfeeder]].

 * [[AmbienteGrafico/AvviareProgrammi|Avviare]] l'applicazione '''OCRFeeder'''.

=== Importazione file ===

 0. Selezionare il file da convertire, dal menù '''File → Apri'''.
 0. Avviare la conversione, dal menù '''File → Esporta'''

{{{#!wiki note
Se si deve convertire un file da scanner, scegliere dal menù '''File + Importa pagina dallo scanner'''.<<BR>>Nel quale dobbiamo importare un file `.pdf`, dal menù '''File + Importa PDF'''.
}}}

{{{#!wiki tip
È possibile modificare le opzioni di conversioni con i menù a destra. In particolare è possibile scegliere un motore di conversione diverso da quello predefinito.}}}

== gImageReader ==

[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt:/gimagereader|gimagereader]].

 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] l'applicazione '''gImageReader'''.
 0. Selezionare il file da convertire. Clic su '''''File → Aggiungi immagini'''''.
 0. Selezionare l'area testo nell'immagine aperta.
 0. Tasto destro mouse sull'area selezionata, clic su '''Riconosci'''.

== YAGF ==

[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt:/yagf|yagf]].

=== Configurazione ===

 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] l'applicazione '''YAGF'''.
 0. Selezionare il menù '''''Modifica → Impostazioni'''''.
 0. Selezionare la scheda '''''OCR e Linguaggi''''':
   * '''Motore OCR''': [[#ocr|impostare]] il motore '''OCR''' da usare e il percorso di archiviazione
   * '''Linguaggi riconosciuti''': scegliere se usare un singolo linguaggio o più di uno e quali.
 0. Selezionare la scheda '''''Elaborazioni Immagini''''' e configurare come elaborare le immagini.
 0. Selezionare la scheda '''''Apparenza Programma''''' e configurare il linguaggio usato.
 0. Fare clic sul tasto '''OK'''.

=== Caricamento immagini ===

Sono disponibili tre modalità facendo clic sulle corrispondenti icone:
  * Aprire un'immagine archiviata nel sistema.
  * Scansionare direttamente un documento tramite [[Hardware/StampantiScanner|scanner]]
  * Incollare l'immagine precedentemente messa negli appunti.

=== Elaborare immagine ===

Selezionare l'icona con scritto ocr in rosso o blu, rispettivamente per riconoscere la singola pagina mostrata o tutte le pagine selezionate.
 
=== Salvataggio immagini ===

Fare clic sull'icona corrispondente.

Per le altre funzioni selezionare il menù '''''Aiuto → Aiuto in linea'''''.

= Ulteriori risorse =

 * [[https://github.com/tesseract-ocr|Sito ufficiale di Tesseract]]
 * [[http://www.gnu.org/software/ocrad/ocrad.html|Sito ufficiale di GNU Ocrad]]
 * [[http://jocr.sourceforge.net/|Sito ufficiale di GOCR]]
 * [[https://help.ubuntu.com/community/OCR/|Documento originale]]
 * [[https://github.com/ocropus/ocr2021|Sito ufficiale di Ocropus]]

----
CategoryHomepage CategoryNuoviDocumenti