Mudanças entre as edições de "OCR"

De Cliomatica - Digital History
Linha 23: Linha 23:
 
Così facendo si aprirà un nuovo documento contenente l’immagine e la trascrizione del testo in essa contenuto.   
 
Così facendo si aprirà un nuovo documento contenente l’immagine e la trascrizione del testo in essa contenuto.   
  
[[Arquivo:InFailla4.png|500px|thumb|center|''Fig. 4. Il risultato della conversione di un'immagine con Google Docs'']]
+
[[Arquivo:InFailla4.png|450px|thumb|center|''Fig. 4. Il risultato della conversione di un'immagine con Google Docs'']]
  
 
Tale funzione non sembra essere molto conosciuta dagli utenti di Drive, probabilmente a causa del fatto che utilizzarla non è poi così intuitivo. Tuttavia, risulta la scelta più comoda e rapida se bisogna convertire in testo delle immagini già presenti sul proprio archivio Google. Un altro sito che implementa OCR è [https://lightpdf.com/ LightPDF], principalmente noto per rendere disponibile una serie di strumenti di elaborazione e conversione dei file in formato PDF. ma che consente di analizzare in OCR solo una pagina alla volta. Allo stesso modo, è possibile convertire in ''batch'' – cioè in una volta sola – un grande volume di immagini utilizzando un programma realizzato in Python o R, ad esempio utilizzando la libreria Pytesseract. Scaricati i componenti necessari da terminale col comando '''pip install pytesseract''', si può scrivere un breve programma in Python che prenda in input le immagini da linea di comando e ne restituisca il testo, come in ''Fig. 5''.
 
Tale funzione non sembra essere molto conosciuta dagli utenti di Drive, probabilmente a causa del fatto che utilizzarla non è poi così intuitivo. Tuttavia, risulta la scelta più comoda e rapida se bisogna convertire in testo delle immagini già presenti sul proprio archivio Google. Un altro sito che implementa OCR è [https://lightpdf.com/ LightPDF], principalmente noto per rendere disponibile una serie di strumenti di elaborazione e conversione dei file in formato PDF. ma che consente di analizzare in OCR solo una pagina alla volta. Allo stesso modo, è possibile convertire in ''batch'' – cioè in una volta sola – un grande volume di immagini utilizzando un programma realizzato in Python o R, ad esempio utilizzando la libreria Pytesseract. Scaricati i componenti necessari da terminale col comando '''pip install pytesseract''', si può scrivere un breve programma in Python che prenda in input le immagini da linea di comando e ne restituisca il testo, come in ''Fig. 5''.
  
[[Arquivo:InFailla5.png|500px|thumb|center|''Fig. 5. Un programma in Python che prende in input delle immagini da linea di comando e ne restituisce il testo.'']]
+
[[Arquivo:InFailla5.png|450px|thumb|center|''Fig. 5. Un programma in Python che prende in input delle immagini da linea di comando e ne restituisce il testo.'']]
  
 
Per quanto concerne la leggibilità, è importante che l’immagine sia priva di rumore e abbia dimensioni adeguate. Se l’immagine non è sufficientemente nitida, infatti, l’OCR potrebbe non essere in grado di ricavare informazioni a sufficienza per classificare adeguatamente un gruppo di pixel come il carattere che rappresentano. È quanto accade in ''Fig. 6'': la qualità dell’immagine è decisamente troppo bassa perché l’OCR possa riconoscerne i caratteri. Il testo originale, che recita “low quality”, viene quindi erroneamente trascritto come “1ow qumity”. La ''l'' di ''low'' è interpretata come la cifra ''1'', mentre la parola ''quality'' presenta così tanto rumore da essere convertita in una stringa senza significato.  
 
Per quanto concerne la leggibilità, è importante che l’immagine sia priva di rumore e abbia dimensioni adeguate. Se l’immagine non è sufficientemente nitida, infatti, l’OCR potrebbe non essere in grado di ricavare informazioni a sufficienza per classificare adeguatamente un gruppo di pixel come il carattere che rappresentano. È quanto accade in ''Fig. 6'': la qualità dell’immagine è decisamente troppo bassa perché l’OCR possa riconoscerne i caratteri. Il testo originale, che recita “low quality”, viene quindi erroneamente trascritto come “1ow qumity”. La ''l'' di ''low'' è interpretata come la cifra ''1'', mentre la parola ''quality'' presenta così tanto rumore da essere convertita in una stringa senza significato.  
  
[[Arquivo:InFailla6.png|350px|thumb|center|''Fig.6. Un'immagine di bassa qualità viene data in input all'algoritmo di OCR di Google. La stringa di output, separata dall'immagine da una linea, non corrisponde al testo presente nell’immagine.'']]
+
[[Arquivo:InFailla6.png|400px|thumb|center|''Fig.6. Un'immagine di bassa qualità viene data in input all'algoritmo di OCR di Google. La stringa di output, separata dall'immagine da una linea, non corrisponde al testo presente nell’immagine.'']]
  
 
}}
 
}}

Edição das 20h45min de 23 de junho de 2021

Tempo di lettura 6 minuti - per Andrea Failla


Il Riconoscimento Ottico dei Caratteri (OCR, dall’inglese Optical Character Recognition) è un insieme di strumenti atti a convertire il formato di un file da immagine a testo. Le immagini, nella maggior parte dei casi, sono create in grafica raster, e funzionano quindi come una matrice in cui una grande quantità di punti, i pixel, formano un ampio spettro di colori intelligibili per l'occhio umano. Segue un esempio:

Fig. 1. Immagine di un documento dell'inizio del XIX secolo ingrandita centinaia di volte, così da consentire l'identificazione dei pixel che, sotto forma di matrice, compongono l'immagine.

L’OCR, una volta analizzate le sequenze di pixel, identifica al loro interno dei caratteri, trasformando la matrice in linguaggio vettoriale, ovvero in testo. Ad esempio, se si passa un’immagine contenente la parola “Vendesi!” a un OCR, questi confronterà uno per volta i gruppi di pixel che contengono ciascun glifo (V maiuscola, E minuscola, N minuscola, e così via fino al punto esclamativo) con le immagini dei caratteri che ha in memoria, e restituirà l’informazione testuale equivalente – cioè la stringa di caratteri “Vendesi”.

L’acquisizione di un’immagine in OCR può presentare elementi di criticità, che dipendono

  • il software utilizzato;
  • la leggibilità dell’immagine originale;
  • il carattere con cui il testo è scritto [1].

Oggi la maggior parte dei software di OCR è in grado di processare testi scritti in alfabeto latino senza troppe difficoltà; per questa ragione, la ricerca del settore si sta muovendo verso lo sviluppo di algoritmi che riconoscano unità grafiche più complesse, come i caratteri arabi, gli ideogrammi Han cinesi e giapponesi, gli Hiragana e i Katakana [2] .

La tecnologia OCR è molto diffusa ed è implementata da diversi programmi. Tra i software scaricabili più noti si ricorda ABBYY FineReader (disponibile per i sistemi operativi Windows e MacOS), un software professionale a pagamento che fornisce strumenti avanzati di visualizzazione ed elaborazione PDF, tra cui la conversione automatica in testo con OCR. Inoltre, è anche possibile usufruire di servizi di OCR online. Alcuni siti, infatti, implementano tale tecnologia e la offrono agli utenti, sebbene spesso presentino alcune limitazioni. Un esempio è il servizio offerto gratuitamente da Google. Caricando un’immagine sul proprio account di Google Drive, infatti, è possibile cliccarci sopra col tasto destro e selezionare prima “Apri con” e poi “Documenti Google”.

Figg. 2 e 3. Per convertire un'immagine in testo su Google Drive è sufficiente aprirla con Google Docs.

Così facendo si aprirà un nuovo documento contenente l’immagine e la trascrizione del testo in essa contenuto.

Fig. 4. Il risultato della conversione di un'immagine con Google Docs

Tale funzione non sembra essere molto conosciuta dagli utenti di Drive, probabilmente a causa del fatto che utilizzarla non è poi così intuitivo. Tuttavia, risulta la scelta più comoda e rapida se bisogna convertire in testo delle immagini già presenti sul proprio archivio Google. Un altro sito che implementa OCR è LightPDF, principalmente noto per rendere disponibile una serie di strumenti di elaborazione e conversione dei file in formato PDF. ma che consente di analizzare in OCR solo una pagina alla volta. Allo stesso modo, è possibile convertire in batch – cioè in una volta sola – un grande volume di immagini utilizzando un programma realizzato in Python o R, ad esempio utilizzando la libreria Pytesseract. Scaricati i componenti necessari da terminale col comando pip install pytesseract, si può scrivere un breve programma in Python che prenda in input le immagini da linea di comando e ne restituisca il testo, come in Fig. 5.

Fig. 5. Un programma in Python che prende in input delle immagini da linea di comando e ne restituisce il testo.

Per quanto concerne la leggibilità, è importante che l’immagine sia priva di rumore e abbia dimensioni adeguate. Se l’immagine non è sufficientemente nitida, infatti, l’OCR potrebbe non essere in grado di ricavare informazioni a sufficienza per classificare adeguatamente un gruppo di pixel come il carattere che rappresentano. È quanto accade in Fig. 6: la qualità dell’immagine è decisamente troppo bassa perché l’OCR possa riconoscerne i caratteri. Il testo originale, che recita “low quality”, viene quindi erroneamente trascritto come “1ow qumity”. La l di low è interpretata come la cifra 1, mentre la parola quality presenta così tanto rumore da essere convertita in una stringa senza significato.

Fig.6. Un'immagine di bassa qualità viene data in input all'algoritmo di OCR di Google. La stringa di output, separata dall'immagine da una linea, non corrisponde al testo presente nell’immagine.


Bibliografia e sitografia

  1. Tomasi F. (2008), Metodologie informatiche e discipline umanistiche, Roma, Carocci, pp. 184-186
  2. Lenci A. et al. (2016), Testo e Computer – Elementi di linguistica computazionale, Roma, Carocci, pp. 60



Citazione di questo articolo
Come citare: FAILLA, Andrea . "OCR". In: CLIOMATICA - Portale di Storia Digitale e ricerca. Disponibile in: http://lhs.unb.br/cliomatica/index.php/OCR. il giorno: 30/09/2024.






Informare errori in questa pagina