Vorrei prendere le due immagini e ridurle a una risoluzione molto inferiore ... come una griglia di 16 x 16, o giù di lì. Segna ogni punto della griglia come attivo o disattivo (disegnato o non disegnato).
Quindi sovrapponi uno sull'altro e osserva quanti punti sono impostati in uno e non in un altro. Se è superiore a una soglia, contrassegnala come non corrispondente.
È possibile migliorare l'algoritmo ridimensionando l'immagine disegnata. Trova i pixel più in alto e quelli più in basso in entrambi, e ridimensiona l'immagine disegnata in modo che corrisponda alla prima immagine. Potresti fare lo stesso con la larghezza. In questo modo un giocatore non sarebbe penalizzato per aver disegnato una buona, ma più piccola, versione dell'immagine.
Un altro miglioramento sarebbe fare paragoni multipli, spostando l'immagine disegnata da sinistra a destra, su e giù, prendendo la corrispondenza "migliore". In questo modo non sarai penalizzato per aver pareggiato qualcosa dal centro.
È tutto un po 'hacky, ma penso che sia probabilmente più utile seguire questa strada piuttosto che cercare di incorporare la logica per analizzare i tratti e altri algoritmi basati su OCR o gesti.
Vedere la prima teoria di riconoscimento del modello su http://en.wikipedia.org/wiki/Pattern_recognition – Lunik