2012-01-18 9 views
16

I miei utenti disegnano la propria firma nella mia applicazione usando gli eventi touch e la converto in una bitmap. Voglio estrarre specifiche uniche di ogni firma e confrontarla con le sue specifiche memorizzate nel server principale.Esiste un codice o un algoritmo per il riconoscimento della firma?

Come posso farlo?

Qual è l'algoritmo principale e aziendale per l'estrazione di caratteristiche uniche di una firma?

Grazie in anticipo,

risposta

0

Ebbene si può trasformare l'immagine in un array di byte, inviare tale sul server e fare quello che vuoi.

Successivo Porrò alcuni trucchi e suggerimenti con i metodi di codifica e decodifica è possibile utilizzare

V'è una domanda qui Decode byte array to bitmap that has been compressed in Java su come decodificare byte gamma

E per creare l'array di byte dal bitmap utilizzando questo consigli: http://www.anddev.org/advanced-tutorials-f21/how-to-convert-bitmap-to-byte-array-in-android-t12985.html

Spero che questo aiuti, Arkde

+0

Desidero memorizzare queste specifiche nel mio database per lavorare offline. Quindi la conversione dell'immagine in array di byte non è la mia soluzione e la memorizzazione di una grande immagine nel database non è una buona soluzione per un dispositivo Pocket PC. Devo eseguire le mie operazioni sul mio dispositivo. – breceivemail

+0

La buona conservazione delle immagini nel database potrebbe non essere una buona soluzione. Prova a tenerlo su/sdcard e il suo percorso sul database potrebbe essere. Inoltre è possibile memorizzare parti di immagine localmente, come array di byte, e confrontarle con un'altra matrice di byte dall'immagine che si confronta. – Arkde

+0

Il rilevamento delle firme è simile al rilevamento delle impronte digitali. non è un confronto pixel-pixel. – breceivemail

19

io non sono un esperto di computer vision, ma come uno studente grad che è dilettato, suona come l'esattezza della caratteristica è ciò che stai cercando. La prima cosa che viene in mente è SIFT (Scale-Invariant Feature Transform). Questo algoritmo consente di confrontare le caratteristiche memorizzate di una firma originale con le copie e di identificare una corrispondenza con un alto livello di precisione, anche nei casi in cui il campione viene ridimensionato o ruotato.

Con una semplice ricerca su Google è possibile trovare una serie di articoli accademici, ad esempio this one o this one che sono specificamente correlati all'uso dell'algoritmo per firme/dati biometrici.

C'è una discussione sull'uso di OpenCV con SIFT in questo Stack Overflow Article.

Se ci sono migliori algoritmi di visione che io sono a conoscenza di che sono particolarmente adatti a questo problema incoraggio la comunità a carillon in.

+2

Ho fatto un po 'più di ricerca sull'argomento stasera per mia stessa curiosità. C'è un materiale sorprendentemente piccolo sul "riconoscimento delle firme", ma se allarghi la tua ricerca alla scientifica della scrittura a mano trovi alcune soluzioni commerciali come questo [Cedar Fox] (http://www.cedartech.com/products_cedarfox.html#image_proc) e [Neuro Script] (http://www.neuroscript.net/forensics.php). Entrambi hanno demo gratuite che puoi probabilmente usare per avere un'idea del loro processo. Sono ancora un po 'scioccato non esiste nulla di open source che faccia questo fuori dalla scatola ... – vpiTriumph

+1

Se considererai SIFT, dovresti considerare anche SURF e ORB. Algoritmi simili, implementati anche in opencv, ma che funzionano più velocemente. –

3

Prova a guardare this resource che utilizza una rete neurale per fare il riconoscimento della scrittura. Prova a guardare this resource too che mostra come riconoscere le cifre scritte a mano. Entrambi i progetti hanno un codice sorgente completo.

1

C'è una domanda simile chiesto: Bitmap (of a signature) comparison in c#

Ho anche trovato un articolo in Channel9 http://channel9.msdn.com/coding4fun/blog/Contour-Analysis-for-Image-Recognition-in-C

Si richiede una logica complessa da creare, ci sono vari prodotti disponibili per la verifica della firma e il riconoscimento, io Ho trovato il seguente codice scritto in Vb 6.0 che potrebbe essere di aiuto: http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=38215&lngWId=1

In breve richiede un sacco di sforzi, quindi è possibile chiedere al cliente se specificando qualche codice univoco o domanda il requisito "corrispondenza della firma" può essere soddisfatto.

Problemi correlati