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 immagine JPS, abbreviazione di JPEG Stereo, è un formato file utilizzato per memorizzare fotografie stereoscopiche scattate da fotocamere digitali o create da software di rendering 3D. Si tratta essenzialmente di una disposizione affiancata di due immagini JPEG all'interno di un singolo file che, se visualizzate tramite software o hardware appropriati, fornisce un effetto 3D. Questo formato è particolarmente utile per creare un'illusione di profondità nelle immagini, il che migliora l'esperienza visiva per gli utenti con sistemi di visualizzazione compatibili o occhiali 3D.
Il formato JPS sfrutta la consolidata tecnica di compressione JPEG (Joint Photographic Experts Group) per memorizzare le due immagini. JPEG è un metodo di compressione con perdita, il che significa che riduce le dimensioni del file scartando selettivamente le informazioni meno importanti, spesso senza una diminuzione evidente della qualità dell'immagine per l'occhio umano. Ciò rende i file JPS relativamente piccoli e gestibili, nonostante contengano due immagini anziché una.
Un file JPS è essenzialmente un file JPEG con una struttura specifica. Contiene due immagini compresse JPEG affiancate all'interno di un singolo fotogramma. Queste immagini sono chiamate immagini dell'occhio sinistro e dell'occhio destro e rappresentano prospettive leggermente diverse della stessa scena, imitando la leggera differenza tra ciò che vede ciascuno dei nostri occhi. Questa differenza è ciò che consente la percezione della profondità quando le immagini vengono visualizzate correttamente.
La risoluzione standard per un'immagine JPS è in genere il doppio della larghezza di un'immagine JPEG standard per ospitare sia l'immagine di sinistra che quella di destra. Ad esempio, se un'immagine JPEG standard ha una risoluzione di 1920x1080 pixel, un'immagine JPS avrebbe una risoluzione di 3840x1080 pixel, con ciascuna immagine affiancata che occupa metà della larghezza totale. Tuttavia, la risoluzione può variare a seconda dell'origine dell'immagine e dell'uso previsto.
Per visualizzare un'immagine JPS in 3D, uno spettatore deve utilizzare un dispositivo di visualizzazione o un software compatibile in grado di interpretare le immagini affiancate e presentarle a ciascun occhio separatamente. Ciò può essere ottenuto attraverso vari metodi, come l'anaglifo 3D, in cui le immagini vengono filtrate per colore e visualizzate con occhiali colorati; 3D polarizzato, in cui le immagini vengono proiettate attraverso filtri polarizzati e visualizzate con occhiali polarizzati; o otturatore attivo 3D, in cui le immagini vengono visualizzate alternativamente e sincronizzate con occhiali otturatore che si aprono e chiudono rapidamente per mostrare a ciascun occhio l'immagine corretta.
La struttura del file di un'immagine JPS è simile a quella di un file JPEG standard. Contiene un'intestazione, che include il marcatore SOI (Start of Image), seguito da una serie di segmenti che contengono vari elementi di metadati e i dati dell'immagine stessa. I segmenti includono i marcatori APP (Application), che possono contenere informazioni come i metadati Exif, e il segmento DQT (Define Quantization Table), che definisce le tabelle di quantizzazione utilizzate per comprimere i dati dell'immagine.
Uno dei segmenti chiave in un file JPS è il segmento JFIF (JPEG File Interchange Format), che specifica che il file è conforme allo standard JFIF. Questo segmento è importante per garantire la compatibilità con un'ampia gamma di software e hardware. Include anche informazioni come il rapporto di aspetto e la risoluzione dell'immagine in miniatura, che può essere utilizzata per anteprime rapide.
I dati dell'immagine effettivi in un file JPS sono memorizzati nel segmento SOS (Start of Scan), che segue l'intestazione e i segmenti dei metadati. Questo segmento contiene i dati dell'immagine compressa sia per l'immagine di sinistra che per quella di destra. I dati vengono codificati utilizzando l'algoritmo di compressione JPEG, che prevede una serie di passaggi tra cui conversione dello spazio colore, sottocampionamento, trasformata discreta del coseno (DCT), quantizzazione e codifica dell'entropia.
La conversione dello spazio colore è il processo di conversione dei dati dell'immagine dallo spazio colore RGB, comunemente utilizzato nelle fotocamere digitali e nei display dei computer, allo spazio colore YCbCr, utilizzato nella compressione JPEG. Questa conversione separa l'immagine in un componente di luminanza (Y), che rappresenta i livelli di luminosità, e due componenti di crominanza (Cb e Cr), che rappresentano le informazioni sul colore. Ciò è vantaggioso per la compressione perché l'occhio umano è più sensibile ai cambiamenti di luminosità che di colore, consentendo una compressione più aggressiva dei componenti di crominanza senza influire in modo significativo sulla qualità dell'immagine percepita.
Il sottocampionamento è un processo che sfrutta la minore sensibilità dell'occhio umano ai dettagli del colore riducendo la risoluzione dei componenti di crominanza rispetto al componente di luminanza. I rapporti di sottocampionamento comuni includono 4:4:4 (nessun sottocampionamento), 4:2:2 (riducendo la risoluzione orizzontale della crominanza della metà) e 4:2:0 (riducendo sia la risoluzione orizzontale che verticale della crominanza della metà). La scelta del rapporto di sottocampionamento può influenzare l'equilibrio tra qualità dell'immagine e dimensioni del file.
La trasformata discreta del coseno (DCT) viene applicata a piccoli blocchi dell'immagine (in genere 8x8 pixel) per convertire i dati del dominio spaziale nel dominio della frequenza. Questo passaggio è cruciale per la compressione JPEG perché consente la separazione dei dettagli dell'immagine in componenti di varia importanza, con componenti a frequenza più alta spesso meno percepibili all'occhio umano. Questi componenti possono quindi essere quantizzati, o ridotti in precisione, per ottenere la compressione.
La quantizzazione è il processo di mappatura di un intervallo di valori su un singolo valore quantico, riducendo efficacemente la precisione dei coefficienti DCT. È qui che entra in gioco la natura con perdita della compressione JPEG, poiché alcune informazioni sull'immagine vengono scartate. Il grado di quantizzazione è determinato dalle tabelle di quantizzazione specificate nel segmento DQT e può essere regolato per bilanciare la qualità dell'immagine con le dimensioni del file.
Il passaggio finale nel processo di compressione JPEG è la codifica dell'entropia, che è una forma di compressione senza perdita. Il metodo più comune utilizzato in JPEG è la codifica Huffman, che assegna codici più brevi a valori più frequenti e codici più lunghi a valori meno frequenti. Ciò riduce le dimensioni complessive dei dati dell'immagine senza ulteriori perdite di informazioni.
Oltre alle tecniche di compressione JPEG standard, il formato JPS può anche includere metadati specifici relativi alla natura stereoscopica delle immagini. Questi metadati possono includere informazioni sulle impostazioni di parallasse, sui punti di convergenza e su qualsiasi altro dato che potrebbe essere necessario per visualizzare correttamente l'effetto 3D. Questi metadati sono in genere memorizzati nei segmenti APP del file.
Il formato JPS è supportato da una varietà di applicazioni software e dispositivi, tra cui televisori 3D, visori VR e visualizzatori di foto specializzati. Tuttavia, non è così ampiamente supportato come il formato JPEG standard, quindi gli utenti potrebbero dover utilizzare software specifici o convertire i file JPS in un altro formato per una compatibilità più ampia.
Una delle sfide con il formato JPS è garantire che le immagini di sinistra e di destra siano correttamente allineate e abbiano la parallasse corretta. Un disallineamento o una parallasse errata possono portare a un'esperienza visiva scomoda e possono causare affaticamento degli occhi o mal di testa. Pertanto, è importante per i fotografi e gli artisti 3D catturare o creare attentamente le immagini con i parametri stereoscopici corretti.
In conclusione, il formato immagine JPS è un formato file specializzato progettato per memorizzare e visualizzare immagini stereoscopiche. Si basa sulle consolidate tecniche di compressione JPEG per creare un modo compatto ed efficiente per memorizzare fotografie 3D. Sebbene offra un'esperienza visiva unica, il formato richiede hardware o software compatibili per visualizzare le immagini in 3D e può presentare sfide in termini di allineamento e parallasse. Nonostante queste sfide, il formato JPS rimane uno strumento prezioso per fotografi, artisti 3D e appassionati che desiderano catturare e condividere la profondità e il realismo del mondo in un formato digitale.
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 istantaneamente 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 ancora.
Questo convertitore è completamente gratuito e lo sarà sempre. Poiché funziona nel tuo browser, non dobbiamo pagare per i server, quindi non dobbiamo addebitarti alcun costo.
Sì! Puoi convertire tutti i file che vuoi in una volta. Basta selezionare più file quando li aggiungi.