Il Riconoscimento Ottico dei Caratteri (OCR) trasforma le immagini di testo—scansioni, foto da smartphone, PDF—in stringhe leggibili dalla macchina e, sempre più, in dati strutturati. L'OCR moderno è una pipeline che pulisce un'immagine, trova il testo, lo legge ed esporta metadati ricchi in modo che i sistemi a valle possano cercare, indicizzare o estrarre campi. Due standard di output ampiamente utilizzati sono hOCR, un microformato HTML per testo e layout, e ALTO XML, uno schema orientato a biblioteche/archivi; entrambi conservano posizioni, ordine di lettura e altri spunti di layout e sono supportati da motori popolari come Tesseract.
Pre-elaborazione. La qualità dell'OCR inizia con la pulizia dell'immagine: conversione in scala di grigi, denoising, sogliatura (binarizzazione) e raddrizzamento. I tutorial canonici di OpenCV coprono la sogliatura globale, adattiva e di Otsu —punti fermi per documenti con illuminazione non uniforme o istogrammi bimodali. Quando l'illuminazione varia all'interno di una pagina (pensa agli scatti del telefono), i metodi adattivi spesso superano una singola soglia globale; Otsu sceglie automaticamente una soglia analizzando l'istogramma. La correzione dell'inclinazione è altrettanto importante: il raddrizzamento basato su Hough (Trasformata di Hough) abbinato alla binarizzazione di Otsu è una ricetta comune ed efficace nelle pipeline di pre-elaborazione di produzione.
Rilevamento vs. riconoscimento. L'OCR è tipicamente suddiviso in rilevamento del testo (dov'è il testo?) e riconoscimento del testo (cosa dice?). Nelle scene naturali e in molte scansioni, i rilevatori completamente convoluzionali come EAST prevedono in modo efficiente quadrilateri a livello di parola o riga senza pesanti fasi di proposta e sono implementati in toolkit comuni (ad es. tutorial sul rilevamento del testo di OpenCV). Su pagine complesse (giornali, moduli, libri), la segmentazione di righe/regioni e l'inferenza dell'ordine di lettura sono importanti:Kraken implementa la segmentazione tradizionale di zone/righe e la segmentazione neurale della linea di base, con supporto esplicito per diversi script e direzioni (LTR/RTL/verticale).
Modelli di riconoscimento. Il classico cavallo di battaglia open-source Tesseract (reso open-source da Google, con radici in HP) si è evoluto da un classificatore di caratteri in un riconoscitore di sequenze basato su LSTM e può emettere PDF ricercabili, output compatibili con hOCR/ALTOe altro dalla CLI. I riconoscitori moderni si basano sulla modellazione di sequenze senza caratteri pre-segmentati. Connectionist Temporal Classification (CTC) rimane fondamentale, imparando gli allineamenti tra le sequenze di feature di input e le stringhe di etichette di output; è ampiamente utilizzato nelle pipeline di scrittura a mano e di testo di scena.
Negli ultimi anni, i Transformer hanno rimodellato l'OCR. TrOCR utilizza un encoder Vision Transformer più un decoder Text Transformer, addestrato su grandi corpora sintetici e poi messo a punto su dati reali, con ottime prestazioni su benchmark di testo stampato, scritto a mano e di scena (vedi anche documentazione di Hugging Face). In parallelo, alcuni sistemi eludono l'OCR per la comprensione a valle: Donut (Document Understanding Transformer) è un encoder-decoder senza OCR che produce direttamente risposte strutturate (come JSON chiave-valore) da immagini di documenti (repo, scheda del modello), evitando l'accumulo di errori quando un passaggio OCR separato alimenta un sistema IE.
Se si desidera una lettura del testo "batterie incluse" su molti script, EasyOCR offre una semplice API con oltre 80 modelli linguistici, restituendo riquadri, testo e confidenze, utile per prototipi e script non latini. Per i documenti storici, Kraken brilla con la segmentazione della linea di base e l'ordine di lettura consapevole dello script; per un addestramento flessibile a livello di riga, Calamari si basa sulla discendenza di Ocropy (Ocropy) con riconoscitori (multi-)LSTM+CTC e una CLI for la messa a punto di modelli personalizzati.
La generalizzazione dipende dai dati. Per la scrittura a mano, il Database di scrittura a mano IAM fornisce frasi in inglese diverse per scrittore per l'addestramento e la valutazione; è un set di riferimento di lunga data per il riconoscimento di righe e parole. Per il testo di scena, COCO-Text ha stratificato annotazioni estese su MS-COCO, con etichette per stampato/scritto a mano, leggibile/illeggibile, script e trascrizioni complete (vedi anche la pagina del progetto originale). Il campo si basa anche pesantemente sul pre-addestramento sintetico: SynthText in the Wild renderizza il testo in fotografie con geometria e illuminazione realistiche, fornendo enormi volumi di dati per pre-addestrare rilevatori e riconoscitori (riferimento codice e dati).
Le competizioni sotto l'ombrello Robust Reading di ICDAR mantengono la valutazione fondata. I compiti recenti enfatizzano il rilevamento/lettura end-to-end e includono il collegamento di parole in frasi, con il codice ufficiale che riporta precisione/richiamo/F-score, intersection-over-union (IoU) e metriche di distanza di modifica a livello di carattere, rispecchiando ciò che i professionisti dovrebbero monitorare.
L'OCR raramente termina con testo semplice. Archivi e biblioteche digitali preferiscono ALTO XML perché codifica il layout fisico (blocchi/righe/parole con coordinate) insieme al contenuto, e si abbina bene con il packaging METS. Il hOCR microformato, al contrario, incorpora la stessa idea in HTML/CSS usando classi come ocr_line e ocrx_word, rendendo facile visualizzare, modificare e trasformare con strumenti web. Tesseract espone entrambi, ad es. generando hOCR o PDF ricercabili direttamente dalla CLI (guida all'output PDF); wrapper Python come pytesseract aggiungono convenienza. Esistono convertitori per tradurre tra hOCR e ALTO quando i repository hanno standard di ingestione fissi —vedi questo elenco curato di strumenti per formati di file OCR.
La tendenza più forte è la convergenza: rilevamento, riconoscimento, modellazione del linguaggio e persino la decodifica specifica del compito si stanno fondendo in stack Transformer unificati. Il pre-addestramento su grandi corpora sintetici rimane un moltiplicatore di forza. I modelli senza OCR competeranno aggressivamente ovunque l'obiettivo siano output strutturati piuttosto che trascrizioni letterali. Aspettatevi anche implementazioni ibride: un rilevatore leggero più un riconoscitore in stile TrOCR per testo lungo, e un modello in stile Donut per moduli e ricevute.
Tesseract (GitHub) · Documentazione di Tesseract · Specifiche hOCR · Sfondo ALTO · Rilevatore EAST · Rilevamento del testo OpenCV · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · Scrittura a mano IAM · Strumenti per formati di file OCR · EasyOCR
L'Optical Character Recognition (OCR) è una tecnologia utilizzata per convertire vari tipi di documenti, come documenti cartacei scansionati, file PDF o immagini catturate da una fotocamera digitale, in dati modificabili e ricercabili.
L'OCR funziona analizzando l'immagine o il documento in ingresso, segmentando l'immagine in singoli caratteri, e confrontando ciascun carattere con un database di forme carattere utilizzando il riconoscimento di pattern o il riconoscimento delle caratteristiche.
L'OCR viene utilizzato in vari settori e applicazioni, tra cui la digitalizzazione di documenti stampati, l'attivazione di servizi di testo in voce, l'automazione dei processi di inserimento dati, e l'aiuto agli utenti con problemi di vista a interagire in modo più efficace con il testo.
Nonostante ci siano stati notevoli progressi nella tecnologia OCR, non è infallibile. L'accuratezza può variare a seconda della qualità del documento originale e delle specifiche del software OCR utilizzato.
Sebbene l'OCR sia principalmente progettato per il testo stampato, alcuni sistemi OCR avanzati sono anche in grado di riconoscere la scrittura a mano chiara e coerente. Tuttavia, il riconoscimento della scrittura a mano è generalmente meno preciso a causa della grande varietà di stili di scrittura individuali.
Sì, molti sistemi software OCR possono riconoscere più lingue. Tuttavia, è importante assicurarsi che la lingua specifica sia supportata dal software che si utilizza.
L'OCR sta per Optical Character Recognition ed è usato per riconoscere il testo stampato, mentre l'ICR, o Intelligent Character Recognition, è più avanzato ed è usato per riconoscere il testo scritto a mano.
L'OCR funziona meglio con font chiari, facilmente leggibili e dimensioni standard del testo. Anche se può lavorare con vari font e dimensioni, l'accuratezza tende a diminuire quando si tratta di font insoliti o dimensioni del testo molto piccole.
L'OCR può avere difficoltà con documenti a bassa risoluzione, font complessi, testi stampati male, scrittura a mano, e documenti con sfondi che interferiscono con il testo. Inoltre, anche se può lavorare con molte lingue, potrebbe non coprire ogni lingua perfettamente.
Sì, l'OCR può eseguire la scansione di testi colorati e sfondi colorati, sebbene generalmente sia più efficace con combinazioni di colori ad alto contrasto, come il testo nero su sfondo bianco. L'accuratezza può diminuire quando il colore del testo e dello sfondo non ha un contrasto sufficiente.
Il formato JPEG 2000 Multi-layer (JPM) è un'estensione dello standard JPEG 2000, che è uno standard di compressione delle immagini e un sistema di codifica. È stato creato dal comitato Joint Photographic Experts Group nel 2000 con l'intenzione di sostituire lo standard JPEG originale. JPEG 2000 è noto per la sua elevata efficienza di compressione e la sua capacità di gestire un'ampia gamma di tipi di immagini, tra cui immagini in scala di grigi, a colori e multicomponenti. Il formato JPM estende specificamente le capacità di JPEG 2000 per includere il supporto per documenti composti, che possono contenere un mix di testo, grafica e immagini.
JPM è definito nella Parte 6 della suite JPEG 2000 (ISO/IEC 15444-6) ed è progettato per incapsulare più immagini e dati correlati in un singolo file. Ciò lo rende particolarmente utile per applicazioni come l'imaging di documenti, l'imaging medico e l'imaging tecnico in cui è necessario archiviare insieme diversi tipi di contenuto. Il formato JPM consente l'archiviazione efficiente delle pagine all'interno di un documento, ognuna delle quali può contenere diverse regioni di immagine con caratteristiche diverse, nonché dati non immagine come annotazioni o metadati.
Una delle caratteristiche principali di JPM è l'uso del flusso di codice JPEG 2000 (JPX), che è una versione estesa del flusso di codice JPEG 2000 di base (JP2). JPX supporta una gamma più ampia di spazi colore, metadati più sofisticati e profondità di bit più elevate. In un file JPM, ogni immagine o "livello" viene archiviato come un flusso di codice JPX separato. Ciò consente di comprimere ogni livello in base alle proprie caratteristiche, il che può portare a una compressione più efficiente e risultati di qualità superiore, specialmente per documenti composti con diversi tipi di contenuto.
La struttura di un file JPM è gerarchica e consiste in una serie di box. Un box è un'unità autonoma che include un'intestazione e dati. L'intestazione specifica il tipo e la lunghezza del box, mentre i dati contengono il contenuto effettivo. Il box di primo livello in un file JPM è il box della firma, che identifica il file come un file della famiglia JPEG 2000. Dopo il box della firma, ci sono box del tipo di file, box dell'intestazione e box del contenuto, tra gli altri. I box dell'intestazione contengono informazioni sul file, come il numero di pagine e gli attributi di ciascuna pagina, mentre i box del contenuto contengono i dati dell'immagine e tutti i dati non immagine associati.
In termini di compressione, i file JPM possono utilizzare sia metodi di compressione senza perdita che con perdita. La compressione senza perdita garantisce che i dati dell'immagine originale possano essere perfettamente ricostruiti dai dati compressi, il che è fondamentale per le applicazioni in cui l'integrità dell'immagine è fondamentale, come l'imaging medico. La compressione con perdita, d'altra parte, consente dimensioni di file più piccole eliminando alcuni dei dati dell'immagine, il che può essere accettabile in situazioni in cui non è richiesta una fedeltà perfetta.
JPM supporta anche il concetto di "decodifica progressiva", il che significa che è possibile visualizzare una versione a bassa risoluzione di un'immagine mentre l'immagine a piena risoluzione è ancora in fase di download o elaborazione. Ciò è particolarmente utile per immagini di grandi dimensioni o connessioni di rete lente, poiché consente agli utenti di ottenere un'anteprima rapida senza dover attendere che l'intero file sia disponibile.
Un altro aspetto importante di JPM è il suo supporto per i metadati. I metadati nei file JPM possono includere informazioni sul documento, come autore, titolo e parole chiave, nonché informazioni su ciascuna immagine, come data di acquisizione, impostazioni della fotocamera e posizione geografica. Questi metadati possono essere archiviati in formato XML, rendendoli facilmente accessibili e modificabili. Inoltre, JPM supporta l'inclusione di profili ICC, che definiscono lo spazio colore delle immagini, garantendo un'accurata riproduzione del colore su diversi dispositivi.
I file JPM sono anche in grado di archiviare più versioni di un'immagine, ciascuna con risoluzioni o impostazioni di qualità diverse. Questa funzione, nota come "multistrato", consente un archiviazione e una trasmissione più efficienti, poiché la versione appropriata di un'immagine può essere selezionata in base alle esigenze specifiche dell'applicazione o alla larghezza di banda disponibile.
La sicurezza è un'altra area in cui JPM fornisce funzionalità robuste. Il formato supporta l'inclusione di firme digitali e crittografia, che possono essere utilizzate per verificare l'autenticità del documento e proteggere le informazioni sensibili. Ciò è particolarmente importante in settori come la gestione di documenti legali e medici, in cui l'integrità e la riservatezza dei documenti sono di massima importanza.
Nonostante i suoi numerosi vantaggi, il formato JPM non ha visto un'ampia adozione, in particolare nel mercato dei consumatori. Ciò è in parte dovuto alla complessità del formato e alle risorse computazionali necessarie per elaborare i file JPM. Inoltre, la famiglia di standard JPEG 2000, incluso JPM, è stata soggetta a problemi di licenza di brevetto, che hanno ostacolato la sua adozione rispetto allo standard JPEG originale, che generalmente non è gravato da brevetti.
Per gli sviluppatori software e gli ingegneri che lavorano con file JPM, sono disponibili diverse librerie e strumenti che forniscono supporto per il formato. Questi includono la libreria OpenJPEG, che è un codec JPEG 2000 open source, e offerte commerciali di varie società di software di imaging. Quando lavorano con file JPM, gli sviluppatori devono avere familiarità con la sintassi del flusso di codice JPEG 2000, nonché con i requisiti specifici per la gestione di documenti composti e metadati.
In conclusione, il formato immagine JPM è una potente estensione dello standard JPEG 2000 che offre una gamma di funzionalità adatte per l'archiviazione e la gestione di documenti composti. Il suo supporto per più livelli di immagine, decodifica progressiva, metadati, multistrato e funzionalità di sicurezza lo rendono una scelta ideale per applicazioni professionali e tecniche in cui la qualità dell'immagine e l'integrità del documento sono fondamentali. Sebbene possa non essere utilizzato comunemente come altri formati di immagine, le sue capacità specializzate garantiscono che rimanga uno strumento importante in settori come l'imaging di documenti e l'imaging medico.
Questo convertitore funziona interamente nel tuo browser. Quando selezioni un file, viene letto in memoria e convertito nel formato selezionato. Puoi quindi scaricare il file convertito.
Le conversioni iniziano immediatamente e la maggior parte dei file viene convertita in meno di un secondo. I file più grandi potrebbero richiedere più tempo.
I tuoi file non vengono mai caricati sui nostri server. Vengono convertiti nel tuo browser e il file convertito viene quindi scaricato. Non vediamo mai i tuoi file.
Supportiamo la conversione tra tutti i formati di immagine, inclusi JPEG, PNG, GIF, WebP, SVG, BMP, TIFF e altro.
Questo convertitore è completamente gratuito e sarà sempre gratuito. Poiché funziona nel tuo browser, non dobbiamo pagare per i server, quindi non dobbiamo farti pagare.
Sì! Puoi convertire quanti file vuoi contemporaneamente. Basta selezionare più file quando li aggiungi.