2013-02-12 7 views
6

enter image description here Sto cercando di determinare il metodo migliore per estrarre i dati scritti a mano da un documento scansionato.Algoritmi di registrazione delle immagini/tecniche utilizzate per abilitare l'estrazione dei campi dal documento scansionato?

I dati scritti a mano si trovano in aree specifiche. Ho generato la versione digitale del documento, quindi conosco entrambe le coordinate delle aree in scatola e potrei anche generare ulteriori variazioni del documento, se necessario (ovvero una versione mascherata per rendere i campi più facili da estrarre)

La ragione per cui non posso semplicemente estrarre i campi utilizzando le coordinate dalla generazione di documenti è che ci sono modifiche di spostamento/ridimensionamento/prospettiva che si verificano durante il processo di scansione, che possono spingere/tirare le coordinate per ogni casella individuale in modo diverso (il documento scansionato ha marcatori d'angolo usati per l'allineamento, ma anche le trasformazioni non intenzionali si verificano comunemente).

Presumo di alto livello ci sono due modi per affrontare questo problema: passaggio attraverso le coordinate di ogni scatola sulla pagina e tentativo di "correggerli" con qualche tecnica/algoritmo, o confrontare un modulo completato con uno spazio vuoto modulo (mascherato?) e tenta di estrarre i campi corretti in questo modo.

Qual è la tecnica/algoritmo più efficiente per regolare queste modifiche ed estrarre con precisione le aree che contengono la calligrafia? Ci sono altre opzioni?

+1

Se la casella è circondata da linee, è possibile individuarla facilmente per correlazione o in base a qualsiasi altro metodo (trasformazione di massima, ecc.). A proposito, se l'immagine può essere ruotata, la correlazione ti darà risultati negativi, ma le trasformazioni di Hough ti aiuteranno a determinare l'angolo di rotazione (perché le linee principali nei documenti sono orizzontali e verticali). Dopo la correzione della rotazione puoi davvero fare una semplice correlazione con etalon per trovare le coordinate di offset. –

+0

Senza vedere il modulo, farei solo ipotesi. Il mio ultimo progetto ha identificato schemi di punti. Ciò che è utile a proposito dei punti, è che un punto è un punto indipendentemente dalla rotazione in cui si trova. I modelli di punti possono formare punti di riferimento, che il software può utilizzare come punto di origine della rotazione. Conoscendo un punto di origine e un angolo, è facile estrarre le regioni. Il modello di punti può anche indicare la risoluzione. Sono confuso perché i segni d'angolo possono arrivare solo entro 5 gradi. I segni distanziati così distanti dovrebbero fare molto meglio di così. –

+0

La pubblicazione di alcune immagini dei tuoi moduli ti aiuterà a trovare una soluzione. –

risposta

0

Ci sono molti possibili techniques che possono raggiungere quasi il 100% di precisione per il tuo problema.

Basta seguire i passaggi descritti in questa pagina http://www.codeproject.com/Articles/24809/Image-Alignment-Algorithms. In breve, si calcola prima il flusso ottico tra due immagini e quindi si stima la trasformazione che produce tale flusso ottico.

Nota: questo approccio funziona meglio quando le immagini abbinate sono quasi identiche.

Problemi correlati