OCR

Installa Tesseract OCR su Linux

Installa Tesseract OCR su Linux

Tesseract: una soluzione OCR gratuita

introduzione

Tessereact è considerata una delle migliori soluzioni OCR disponibili. Dal 2006 è sponsorizzato da Google, in precedenza era stato sviluppato da Hewlett Packard in C e C++ tra il 1985 e il 1998.   Il sistema è in grado di riconoscere anche la scrittura a mano, può apprendere aumentando la sua precisione, ed è tra i più sviluppati e completi sul mercato.

Batte facilmente concorrenti commerciali come ABBY, se stai cercando una soluzione seria per l'OCR, Tesseract è la più accurata, ma non aspettarti soluzioni massicce: utilizza un core per processo, il che significa un processore a 8 core (hyperthreading accettato) sarà in grado di elaborare 8 o 16 immagini contemporaneamente.

Quando ho usato Tesseract abbiamo gestito migliaia di potenziali clienti caricando contenuti scritti a mano, immagini con testo, ecc. Abbiamo utilizzato 48 core server, con DatabaseByDesign e poi con AWS, non abbiamo mai avuto problemi di risorse.

Avevamo un uploader che discriminava tra file di testo come file di Microsoft Office o Open Office e immagini o documenti scansionati. L'autore del caricamento ha determinato qualunque cosa gli script OCR o PHP avrebbero elaborato un ordine, nel campo del riconoscimento del testo.

Tesseact è un'ottima soluzione, ma prima di pensarci devi sapere che le ultime versioni di Tesseract hanno portato grandi miglioramenti, alcuni dei quali significano un duro lavoro. Mentre la formazione potrebbe durare ore o giorni, la formazione sulle versioni recenti di Tesserct può essere di giorni, settimane o addirittura mesi se stai cercando una soluzione OCR multilingue.


Installazione di Tesseract 4 su Debian/Ubuntu:

apt-get install tesseract-ocr

Se stai utilizzando una distribuzione Linux diversa, dovrai copiare l'ultima versione del repository github e copiare il file .addestrato file in 'tessdata' (/usr/share/tesseract-ocr/tessdata o /usr/share/tessdata).

Per impostazione predefinita Tesseract installerà il language pack inglese, per installare lingue aggiuntive esegui

apt-get install tesseract-ocr-LANG

ad esempio, per aggiungere l'ebraico:

apt-get install tesseract-ocr-heb

Puoi includere tutte le lingue eseguendo:

apt-get install tesseract-ocr-all

Affinché Tesseract funzioni correttamente, dovremo utilizzare il comando "converti"  (converti tra formati di immagine e ridimensiona un'immagine, sfoca, ritaglia, elimina macchie, dither, disegna, capovolgi, unisci, ricampiona e molto di più) fornito da Imagemagick:

Installiamo imagemagick con apt-get:

apt-get install imagemagick

Ora testiamo Tesseract, troviamo un'immagine contenente testo ed eseguiamo:

tesseract [nome_immagine] [nome_file di output]

Se installato correttamente, Tesseract estrarrà il testo dall'immagine.

Quando ho lavorato con Tesseract, tutto ciò di cui avevamo bisogno era contare i documenti a parole. Come con qualsiasi altro programma puoi e devi addestrarlo, in Word possiamo definire alcuni simboli che possono essere contati o meno, se contare o meno i numeri, ecc. lo stesso con Tesseract.

Possiamo anche allenare la sua sensibilità a immagini specifiche.


Ottimizzazione Tesseract:

Ottimizzazione delle dimensioni: Secondo fonti ufficiali, la dimensione ottimale dei pixel affinché un'immagine venga elaborata con successo da Tesseract è 300 DPI. Avremo bisogno di elaborare qualsiasi immagine utilizzando il parametro -r per applicare questo DPI. L'aumento del DPI aumenterà anche il tempo di elaborazione.

Rotazione pagine: Se durante la scansione la pagina non è stata ruotata correttamente e rimane di 180° o 45°, la precisione di Tesseract diminuirà, puoi utilizzare questo script Python per rilevare e risolvere automaticamente i problemi di rotazione.

Rimozione del confine: Secondo l'uomo ufficiale di Tesseract, i bordi possono essere erroneamente scelti come caratteri, in particolare i bordi scuri e dove c'è una varietà di gradazioni. La rimozione dei bordi può essere un buon passo per ottenere la massima precisione con Tesseract.

Rimozione del rumore: Secondo Tesseracts, il rumore "è una variazione casuale di luminosità o colore in un'immagine". Possiamo rimuoverlo nel binarizzazione passo, il che significa polarizzare i suoi colori.


Tesseract di formazione:

Mentre la maggior parte dei tutorial copre solo l'installazione di Tesseract, riassumerò come addestrare il tuo sistema OCR, qui possiamo trovare un tutorial per tutte le versioni. In questo articolo riassumerò come addestrare Tesseract 4 che include un nuovo “motore di riconoscimento basato su rete neurale che offre una precisione significativamente maggiore (sulle immagini dei documenti) rispetto alle versioni precedenti, in cambio di un significativo aumento della potenza di calcolo richiesta. Su linguaggi complessi, tuttavia, potrebbe effettivamente essere più veloce del Tesseract di base."

Prima di continuare dovremo installare librerie aggiuntive:

sudo apt-get install libicu-dev
sudo apt-get install libpango1.0-dev
sudo apt-get install libcairo2-dev

E installeremo gli strumenti di formazione eseguendo, all'interno della directory Tesseract:

rendere
fare formazione
sudo make training-install

Secondo la wiki ufficiale di Tesseract, abbiamo 3 opzioni attuali per addestrare il nostro sistema OCR:

Sebbene le opzioni di cui sopra possano sembrare diverse, i passaggi di addestramento sono in realtà quasi identici, a parte la riga di comando, quindi è relativamente facile provarli in tutti i modi, dato il tempo o l'hardware per eseguirli in parallelo."

In questo tutorial, eseguiremo solo il testtrain.sh script che chiamerà i programmi necessari per addestrare una lingua specifica.

Prima di tutto cloniamo tutti i file all'interno del nostro /usr/share/tesseract-ocr:

git clone https://github.com/tesseract-ocr/tesseract

Vai a /usr/share/tesseract-ocr/tesseract/training (directory di installazione predefinita di Tesseract) ed esegui:

$ ./tesstrain.sh --lang heb --langdata_dir /usr/share/tesseract-ocr/langdata --tessdata_dir /usr/share/tesseract-ocr/tessdata 

Cambia "heb" per la lingua che vuoi addestrare e modifica anche il percorso dei tuoi dati.

All'interno della directory /usr/share/tesseract-ocr/tesseract/training troverai il file specifico per la lingua.sh utile per aggiungere regole per lingue specifiche.


Risoluzione dei problemi

Tesseract è per me la migliore soluzione OCR, ma recentemente ha apportato enormi cambiamenti rispetto alle versioni precedenti e molti utenti si lamentano di modifiche o cose che non funzionano più, non mi preoccuperei poiché le modifiche sembrano dare ottimi risultati. La community di Tesseract è molto attiva, nel caso dovessi riscontrare problemi nell'esecuzione di tesseract, entra a far parte della community di Tesseract qui.

Come utilizzare Xdotool per stimolare i clic del mouse e le sequenze di tasti in Linux
Xdotool è uno strumento da riga di comando gratuito e open source per simulare i clic del mouse e le sequenze di tasti. Questo articolo tratterà una b...
I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...