मैं दो छवियां लेता हूं और उन्हें बहुत कम संकल्प में स्केल करता हूं ... 16 x 16, या तो की ग्रिड की तरह। ग्रिड में प्रत्येक बिंदु को चालू या बंद के रूप में चिह्नित करें (खींचा गया है या नहीं खींचा गया है)।
फिर एक-दूसरे पर ओवरले करें, और देखें कि कितने अंक एक में सेट हैं और दूसरे में नहीं। यदि यह एक सीमा से अधिक है, तो इसे एक मैच के रूप में चिह्नित करें।
आप खींची गई छवि को स्केल करके एल्गोरिदम सुधार सकते हैं। दोनों में सबसे ऊपर और नीचे-सबसे अधिक पिक्सेल पाएं, और पहली छवि से मेल खाने के लिए खींची गई छवि को स्केल करें। आप चौड़ाई के साथ ऐसा ही कर सकते हैं। इस तरह एक खिलाड़ी को चित्र के अच्छे, लेकिन छोटे, संस्करण को चित्रित करने के लिए दंडित नहीं किया जाएगा।
एक और सुधार कई तुलना करना होगा, खींची गई छवि को बाएं से दाएं, ऊपर और नीचे स्थानांतरित करना, 'सर्वश्रेष्ठ' मैच लेना। इस तरह से आप केंद्र से कुछ ऑफ़सेट ड्राइंग के लिए दंडित नहीं होंगे।
यह सब कुछ हैकी है, लेकिन मुझे लगता है कि स्ट्रोक और अन्य ओसीआर- या इशारा-आधारित एल्गोरिदम को पार्स करने के लिए तर्क को शामिल करने की कोशिश करने के बजाय यह मार्ग अधिक संभव है।
http://en.wikipedia.org/wiki/Pattern_recognition पर पहले पैटर्न पहचान सिद्धांत देखें – Lunik