GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Tesseract OCR:installazione e utilizzo su Ubuntu 16.04

Tesseract è uno dei più potenti motori OCR open source disponibili oggi. OCR sta per riconoscimento ottico dei caratteri. Questo è il processo di estrazione dei testi dalle immagini. Ad esempio, considera la seguente immagine che contiene del testo che deve essere estratto:

L'output del motore OCR, una volta completata l'elaborazione, sarà simile a questo:

  Open
  Access
  Button

Ecco come funziona l'OCR. È utile in molte applicazioni come il riconoscimento della targa di un veicolo, la conversione di copie scansionate di documenti in formato word, l'estrazione automatica di dettagli dalle ricevute, ecc. Costituisce anche il primo passo in molte attività di elaborazione del linguaggio naturale. In questo tutorial, esamineremo come installare e configurare rapidamente Tesseract, imagemagick e come utilizzarli per ottenere i migliori risultati possibili con la pre-elaborazione delle immagini.

La pre-elaborazione delle immagini è una parte importante dell'esecuzione dell'OCR con Tesseract. Ciò garantisce che la precisione del testo estratto sia elevata e riduce l'errore. Esamineremo alcune operazioni di base da eseguire sull'immagine che la utilizza. Imagemagick è uno strumento basato sulla riga di comando per l'elaborazione delle immagini, che ci aiuta a eseguire operazioni come il ritaglio, il ridimensionamento, la modifica delle combinazioni di colori, ecc.

1 Installa Tesseract

È abbastanza semplice installare tesseract, esegui i seguenti comandi:

sudo apt update sudo apt install tesseract-ocr

Questo installa il motore Tesseract. L'immagine seguente mostra l'output quando è installato correttamente:

La prossima cosa da fare è installare i Language Pack. Tesseract è molto robusto e può estrarre oltre 100 lingue diverse, a condizione che i language pack vengano scaricati. Puoi scaricare un particolare Language Pack utilizzando il comando generico di seguito:

sudo apt-get install tesseract-ocr-[lang]

Nel comando precedente, sostituisci "[lang]" con la lingua che desideri scaricare. Di seguito sono riportati esempi per inglese e francese:

sudo apt-get install tesseract-ocr-eng sudo apt-get install tesseract-ocr-fra

Di solito, il tesseract viene fornito con il pacchetto inglese per impostazione predefinita. L'immagine sotto mostra che l'inglese era già installato e il francese doveva essere scaricato e installato:

In alternativa, se desideri scaricare tutti i Language Pack, puoi eseguire il comando seguente:

sudo apt-get install tesseract-ocr-all

Questo completa l'installazione di Tesseract.

2 Installa Imagemagick Esegui il comando seguente per installare imagemagick

sudo apt install imagemagick

Questo strumento viene utilizzato dalla riga di comando utilizzando il comando convert. Per verificare la corretta installazione, esegui il comando seguente e l'output dovrebbe essere simile all'immagine seguente:

convert -h

3 Utilizzo di Tesseract

Tesseract è in grado di acquisire immagini di molti formati diversi come jpg, png, tiff, ecc. ed estrarre testo da esso. Questa sezione si concentra sull'esecuzione di tesseract e nella prossima sezione vedremo come possiamo migliorare la precisione. Ecco alcuni comandi di base per eseguire tesseract :

Per ottenere l'output nel terminale, esegui il comando generico con il percorso dell'immagine

tesseract [percorso_immagine] stdout

Per memorizzare l'output dell'OCR in un file, eseguire il seguente comando generico:

tesseract [image_path] [file_name]

Dopo due immagini, mostra l'immagine utilizzata e l'output dell'esecuzione di quanto sopra ai comandi su quell'immagine


Come puoi osservare, l'esecuzione del secondo comando ha portato alla creazione di un file chiamato "outfile.txt" in cui è possibile trovare l'output.

4 Pre-elaborazione delle immagini

Dall'output precedente, potresti aver notato che c'è un errore nell'output e anche un errore che dice che la dimensione dei pixel è piccola. Questo è uno degli svantaggi di Tesseract, si aspetta che tu fornisca un'immagine elaborata su cui può eseguire l'OCR. In questa sezione, esamineremo alcune delle tattiche che puoi utilizzare con l'aiuto di imagemagick per migliorare la qualità dell'immagine e quindi aumentare la precisione dell'output.

4.1 ridimensionamento

Il ridimensionamento è uno dei trucchi più utili per migliorare la precisione dell'OCR. Questo perché la maggior parte delle volte le immagini hanno una dimensione del carattere molto piccola che non può essere letta correttamente da Tesseract. È possibile ridimensionare un'immagine utilizzando il comando seguente. L'importo percentuale indica il limite di ridimensionamento. Poiché vogliamo aumentare la dimensione, dobbiamo fornire un valore maggiore di 100. Qui abbiamo dato un valore di 150% (usa un metodo di prova ed errore per determinare la percentuale di ridimensionamento perfetta per il tuo caso d'uso).

convert -resize 150% [input_file_path] [output_file_path]

nel comando precedente, sostituire [input_file_path] con il percorso dell'immagine che deve essere ridimensionato e [output_file_path] con il percorso dell'immagine in cui deve essere archiviato l'output. L'immagine seguente è l'output quando ho eseguito il comando:convert -resize 150% image7.png image7_resize.png

4.2 Usa immagini in scala di grigi

Se si dispone di un'immagine a colori, si consiglia di convertirla prima in scala di grigi. Ci sono buone probabilità che solo questo sia sufficiente per ottenere la precisione dell'OCR che desideri. Altrimenti, per elaborare ulteriormente, puoi utilizzare le immagini in scala di grigi per binarizzare l'immagine. Usa il comando seguente per convertire l'immagine in scala di grigi

convert [input_file_path] -type Grayscale [output_file_path]

L'immagine seguente mostra l'output per l'esecuzione del comando convert image6_resize.png -type Scala di grigi image6_gray.png

4.3 Binarizzare l'immagine

La binarizzazione o il thresholding comporta la conversione dell'immagine solo in valori di bianco e nero. Ogni pixel in questa immagine ha solo uno dei due valori, nero o bianco. Ciò riduce drasticamente la complessità delle immagini. Se hai immagini con disturbo o immagini con ombre o molto testo, puoi utilizzare questo metodo di preelaborazione. Per binarizzare questa immagine, assicurati di avere prima un'immagine in scala di grigi, quindi usa il comando seguente:

convert [input_file_path] -threshold 55% [output_file_path]

La soglia % può essere modificata per ottenere il miglior risultato per il tuo caso d'uso. L'immagine sotto mostra un esempio. È importante notare che per l'immagine in questione, la binarizzazione non è l'opzione migliore in quanto perde alcuni dati.

È necessario tenere presenti i seguenti punti prima di applicare una o tutte le tecniche di pre-elaborazione sopra menzionate:

  • A seconda del caso d'uso, sarà utile una o una combinazione delle fasi di preelaborazione.
  • Quando una fase di pre-elaborazione porta a una diminuzione della precisione, dovrebbe essere ignorata dalle fasi di pre-elaborazione.
  • Le percentuali durante il ridimensionamento o la sogliatura variano da immagine a immagine, pertanto è necessario applicare un metodo di prova ed errore per ottenere il miglior valore percentuale possibile per fornire la massima precisione durante l'esecuzione di Tesseract

Una volta completata la preelaborazione, esegui Tesseract con l'immagine elaborata per verificarne l'accuratezza. Tesseract è molto potente ma presenta alcune limitazioni quando si tratta del tipo di immagine che viene fornito come input. Spero che questo tutorial ti sia stato utile.


Ubuntu
  1. Installazione del server Ubuntu 20.04

  2. Ubuntu 20.04 Installazione Dropbox e integrazione desktop

  3. Installazione di Ubuntu 20.04 FFmpeg

  4. Installazione automatizzata di Perfect Server ISPConfig 3 su Debian 10 - 11 e Ubuntu 20.04

  5. Installazione automatizzata di Perfect Server ISPConfig 3 su Debian 10 - 11 e Ubuntu 20.04

Docker:installazione e utilizzo di base su Ubuntu 16.04

Utility DD:backup e ripristino semplici dei file immagine del disco in Ubuntu

Come installare e configurare OpenNMS su Ubuntu 18.04

Installazione e panoramica della versione beta di Ubuntu 19.10 (Eoan Ermine).

Come convertire PNG, JPEG in WebP in Ubuntu? (Anche WebP in PNG e JPEG)

Download e installazione di sfondi di Ubuntu 16.10