Come Fare OCR dalla Riga di Comando di Linux Utilizzando Tesseract

0
54
Fatmawati Achmad Zaenuri/Shutterstock

È possibile estrarre il testo da immagini su Linux a riga di comando utilizzando il Tesseract OCR engine. E ‘ veloce, preciso, e che opera in circa 100 lingue. Ecco come usarlo.

Il Riconoscimento Ottico Dei Caratteri

Il riconoscimento ottico dei caratteri (OCR) è la capacità di cercare e trovare le parole in un’immagine, e poi estrarli come testo modificabile. Questo compito semplice per gli esseri umani è molto difficile per i computer. I primi sforzi sono goffo, per non dire altro. I computer sono stati spesso confusi se il tipo di carattere o la dimensione non era per il software OCR di gradimento.

Tuttavia, i pionieri in questo campo sono ancora tenuti in grande stima. Se hai perso la copia elettronica di un documento, ma aveva ancora una versione stampata, OCR potrebbe ri-creare un comando elettronico versione modificabile. Anche se i risultati non sono al 100 per cento accurate, questo è ancora un grande risparmio di tempo.

Con qualche manuale di riordino, si dovrebbe avere il vostro documento. Persone sono state perdonare per gli errori che ha fatto, perché hanno capito la complessità del compito di fronte a un programma OCR. Inoltre, era meglio di riscrivere l’intero documento.

Le cose sono notevolmente migliorate da allora. Il Tesseract OCR applicazione, scritto da Hewlett Packard, iniziato nel 1980 come un’applicazione commerciale. Era open-source nel 2005, ed è ora supportato da Google. È multi-funzionalità del linguaggio, è considerato come uno dei più accurati sistemi OCR disponibili, e si può utilizzare per la connessione.

L’installazione di Tesseract OCR

Per installare Tesseract OCR su Ubuntu, utilizzare questo comando:

sudo apt-get install tesseract-ocr

Su Fedora, il comando è:

sudo dnf installare tesseract

Su Manjaro, è necessario digitare:

sudo pacman -Syu tesseract

Utilizzando Tesseract OCR

Stiamo andando a costituire una serie di sfide per Tesseract OCR. La nostra prima immagine che contiene il testo è un estratto dal punto 63 della Generale Normativa sulla Protezione dei Dati. Vediamo se OCR in grado di leggere questo (e rimanere sveglio).

E ‘ una delicata immagine, perché ogni frase inizia con un debole apice numero, che è tipico nei documenti legislativi.

Abbiamo bisogno di dare il tesseract comando di alcune informazioni, tra cui:

  • Il nome del file di immagine che si desidera elaborare.
  • Il nome del file di testo verrà creato per contenere il testo estratto. Non dobbiamo fornire l’estensione del file (sarà sempre .txt). Se esiste già un file con lo stesso nome, verrà sovrascritto.
  • Possiamo usare l’opzione –dpi possibilità di comunicare con il tesseract che i punti per pollice (dpi) risoluzione dell’immagine. Se non forniamo un valore di dpi, tesseract cercherà di capire.

La nostra immagine in un file chiamato “recital-63.png”, e la sua risoluzione a 150 dpi. Stiamo andando a creare un file di testo dal nome “recital.txt.”

Il nostro comando simile a questo:

tesseract recital-63.png considerando –150 dpi

I risultati sono molto buoni. Il solo problema è che gli apici erano troppo debole per essere letto correttamente. Un’immagine di buona qualità è fondamentale per ottenere buoni risultati.

tesseract ha interpretato l’apice numeri di virgolette (“) e il grado di simboli (°), ma il testo è stato estratto perfettamente (il lato destro dell’immagine dovuto essere tagliate per adattarsi qui).

Il carattere finale è un byte con il valore esadecimale di 0x0C, che è un ritorno a capo.

Di seguito è un’altra immagine con il testo in diverse dimensioni, grassetto e corsivo.

Il nome di questo file è “bold-italic.png.” Vogliamo creare un file di testo chiamato “bold.txt,” così il nostro comando è:

tesseract grassetto-corsivo.png in grassetto –150 dpi

Questo non pone alcun problema, e il testo è stato estratto perfettamente.

L’Utilizzo Di Diverse Lingue

Tesseract OCR supporta circa 100 lingue. Utilizzare una lingua, è necessario installarlo prima. Quando si trova la lingua che si desidera utilizzare nell’elenco, nota la sua abbreviazione. Abbiamo intenzione di installare il supporto per il Gallese. La sua abbreviazione è “cym”, che è l’abbreviazione di “Cymru,” il che significa che il Gallese.

Il pacchetto di installazione è chiamato “tesseract-ocr-” con l’abbreviazione tagged alla fine. Per installare la lingua Gallese file in Ubuntu, useremo:

sudo apt-get install tesseract-ocr-cym

L’immagine con il testo di seguito. È il primo versetto del Gallese inno nazionale.

Vediamo se Tesseract OCR è la sfida. Useremo i -l (lingua) opzione per consentire tesseract conoscere la lingua in cui vogliamo lavorare:

tesseract-hen wlad-fy nhadau.png inno -l cym –150 dpi

tesseract funziona perfettamente, come indicato nel testo estratto qui di seguito. Da iawn, Tesseract OCR.

Se il documento contiene due o più lingue (come un Gallese-per-dizionario inglese, per esempio), è possibile utilizzare un segno più (+) per raccontare il tesseract per aggiungere un’altra lingua, in questo modo:

tesseract immagine.png textfile -l ita+cym+fra

Utilizzando Tesseract OCR con i file Pdf

Il tesseract comando è progettato per funzionare con i file di immagine, ma è in grado di leggere i Pdf. Tuttavia, se avete bisogno di estrarre il testo da un file PDF, è possibile utilizzare un altro programma di utilità prima di generare una serie di immagini. Una singola immagine rappresenterà una singola pagina del PDF.

Il pdftppm utilità è necessario dovrebbe essere già installato sul vostro computer Linux. Il PDF useremo per il nostro esempio è una copia di Alan Turing carta fondamentale di “intelligenza artificiale”, “Computing Machinery e Intelligenza.”

Usiamo il -png opzione per specificare che si desidera creare i file PNG. Il nome del file del nostro PDF è “turing.pdf”. Chiameremo il nostro file di immagine “turing-01.il png, il” “turing-02.png”, e così via:

pdftoppm -png turing.pdf turing

Per eseguire tesseract su ogni file di immagine utilizzando un unico comando, abbiamo bisogno di usare un ciclo for. Per ciascuno dei nostri “turing-nn.png, file” corriamo tesseract, e creare un file di testo chiamato “testo” plus “di turing-nn” come parte del nome del file immagine:

io in turing-??.png; fare tesseract “$i” “text-$i” -l ita; done;

Per unire tutti i file di testo in uno, possiamo utilizzare gatto:

gatto di testo-turing* > complete.txt

Così, come ha fatto fare? Molto bene, come potete vedere qui sotto. La prima pagina si presenta molto impegnativo, però. Ha diversi stili di testo e le dimensioni, e la decorazione. C’è anche una verticale “filigrana” sul bordo destro della pagina.

Tuttavia, l’output è simile all’originale. Ovviamente, la formattazione è stata persa, ma il testo è corretto.

Verticale filigrana è stata recepita come una linea di parole senza senso in fondo alla pagina. Il testo è troppo piccolo per essere letto da tesseract con precisione, ma dovrebbe essere abbastanza facile da trovare ed eliminare. Il peggior risultato sarebbe stato randagi caratteri alla fine di ogni riga.

Curiosamente, le singole lettere all’inizio della lista di domande e risposte a pagina due sono stati ignorati. La sezione in formato PDF è mostrato di seguito.

Come potete vedere qui sotto, le domande rimangono, ma la “Q” e “A” all’inizio di ogni riga sono stati persi.

Schemi anche non essere trascritto correttamente. Diamo un’occhiata a cosa succede quando si tenta di estrarre quella mostrata dal Turing PDF.

Come si può vedere nel nostro risultato al di sotto, i personaggi sono stati letti, ma il formato del diagramma è stato perso.

Di nuovo, tesseract lottato con la piccola dimensione di indici, e sono stati resi in modo non corretto.

In tutta onestà, però, è stato comunque un buon risultato. Non siamo stati in grado di estrarre semplice testo, ma poi, in questo esempio è stato scelto perché ha rappresentato una sfida.

Una Buona Soluzione Quando Si Ha Bisogno

OCR non è qualcosa che è necessario per l’uso quotidiano. Tuttavia, quando il bisogno presenta, è bene sapere che si dispone di uno dei migliori motori OCR a tua disposizione.

CONTINUA A LEGGERE

  • “Come Fare OCR dalla Riga di Comando di Linux Utilizzando Tesseract
  • “Perché la Gente Ancora Compra Feature phone nel 2020
  • “Come Svuotare Automaticamente Il Cestino su Mac
  • “Come Duplicare Diapositive in Microsoft PowerPoint
  • “Il microfono Non funziona su un Mac? Ecco Come Risolvere il problema