2010-07-28 12 views
5

मैं बच्चों के लिए एक आईफोन एप्लिकेशन विकसित करने की कोशिश कर रहा हूं जो स्पर्श के साथ स्क्रीन पर पात्रों को आकर्षित करने में सक्षम होंगे और मैं जानना चाहता हूं कि वर्णमाला के अच्छे चरित्र के साथ खींचे गए चरित्र से कैसे मिलान किया जाए। मैं दो आकारों (ड्राइंग और मौजूदा) की तुलना कैसे करूं कोई विचार ?? कुछ कोड?आईफोन पर ड्राइंग

+0

क्या आपको समाधान मिल गया है? – PVCS

उत्तर

1

वाह, यह एक कठिन काम की तरह लगता है। मेरे दिमाग में आने वाली एक संभावना एक सपोर्ट वेक्टर मशीन का उपयोग करना होगा।

1.) ड्राइंग की एक छवि उत्पन्न करें और उपयोगकर्ता द्वारा खींचे गए पथ पर वेक्टर संलग्न करके इसे "वेक्टरटाइज़" करें।

2.) आपको तुलना करने के लिए समर्थन वैक्टर की आवश्यकता है। मैं क्या करूँगा, एक "प्रशिक्षण आवेदन" लागू करें। कुछ बच्चों को आकर्षित करने दें (उदाहरण के लिए 10 बार ए, 10 बार बी, एएसओ ...), वेक्टर को डेटाबेस में रखें और उन्हें समर्थन वैक्टर के रूप में उपयोग करें।

3.) आपको एक रेटिंग एल्गोरिदम की आवश्यकता है जो उपयोगकर्ता को समर्थन वैक्टरों की तुलना करके चित्रित करता है (यह इसका सबसे दिलचस्प हिस्सा हो सकता है)। मैं समर्थन वैक्टरों की दूरी को मापने और तैयार किए गए वैक्टरों को अंत-बिंदुओं को मापने के बारे में सोच सकता हूं। सबसे कम दूरी वाला एसवीएम वह पत्र है जिसे आप लेते हैं। फिर आप "सीमा" की दूरी तय कर सकते हैं, और इस सीमा के ऊपर सभी उपयोगकर्ता चित्रों को अपरिचित के रूप में ले सकते हैं।

एक दूसरा दृष्टिकोण यह हो सकता है कि आप पत्रों के साथ छवियां उत्पन्न करें (उदाहरण के लिए सफेद पृष्ठभूमि और काला अक्षर (गैर-विरोधी एलियाड))। आप उपयोगकर्ता को फिर से चित्रित करने के लिए छवि को चित्रित करने और इसे आकार देने के लिए छवि का आकार बदलते हैं, इसे ठीक से "ओवरलैप" करने का प्रयास करते हैं। फिर आप काले चित्रों को गिनते हैं जो दो छवियों में मेल खाते हैं और अधिकांश मिलानों के साथ पत्र लेते हैं।

लेकिन, चूंकि मैंने कुछ ऐसा लागू किया है, इसलिए मैं यह बता सकता हूं कि एसवीएम दृष्टिकोण अधिक संतोषजनक है क्योंकि यदि आप पर्याप्त नहीं हैं तो समर्थन वेक्टर जोड़ सकते हैं। अव्यवस्था निश्चित रूप से आपकी रेटिंग एल्गोरिदम है।

किसी भी तरह के काम के कुछ हफ्तों की तरह लगता है।

संपादित करें: चूंकि यह एक दिलचस्प क्षेत्र है, मैंने कुछ शोध किया और हस्तलेख मान्यता के बारे में एक थीसिस पाया। इस पर एक नज़र डालें: http://risujin.org/cellwriter/। यह मूल रूप से मेरे द्वारा वर्णित एसवीएम दृष्टिकोण का वर्णन करता है और कुछ एल्गोरिदम देता है जो आपकी मदद कर सकता है।

+0

+1: ठंडा दृष्टिकोण .. * पूर्णकालिक * काम के सप्ताह :) – iwasrobbed

0

आप हमेशा Gesture Recognition का उपयोग कर सकते हैं ... लेकिन यह इस तरह के कस्टम परिदृश्य के लिए बहुत मुश्किल है।

अन्यथा आपको Quartz में कुछ मिल सकता है जो आपके लिए कम से कम इसका हिस्सा देगा। मुझे यह देखने में दिलचस्पी है कि आप इसे कैसे हल करते हैं .. यह आगे एक कठिन/रोचक सड़क की तरह लगता है।

3

Using GLGestureRecognizer आप एक कैटलॉग बना सकते हैं और यह आपके द्वारा पूर्वनिर्धारित "वर्णमाला" के विरुद्ध इनपुट पॉइंट सरणी के बीच एक मीट्रिक की गणना करेगा।

GLGestureRecognizer $ 1 Unistroke पहचानकर्ता, एक सरल इशारा मान्यता एल्गोरिथ्म के एक ऑब्जेक्टिव-सी कार्यान्वयन है (क्रेडिट नीचे देखें)। यह यहां में आईफोन एप्लिकेशन प्रोजेक्ट के रूप में उपलब्ध कराया गया है। इसे पर अप्रैल 200 9 के अंत में एडम प्रेबल द्वारा दो शाम के पाठ्यक्रम पर लागू किया गया था।

एक डेमो आईफोन प्रोजेक्ट (जेस्चर।xcodeproj) प्रदान किया जाता है; UIView सबक्लास को टच इवेंट प्राप्त होता है और उन्हें GLGestureRecognizer क्लास में भेजता है जबकि सफेद में स्पर्श पथ को चित्रित करता है। एक बार इशारा पूरा हो गया है, resampled इशारा, हरे, अपने लाल डॉट पर केंद्र में दिखाया गया है सबसे अच्छा मैच के नाम के साथ, स्कोर (कम बेहतर है), और इशारा उन्मुखीकरण। उदाहरण के लिए 16 अंक का नमूना आकार उपयोग किया जाता है, जो बहुत मूल आकारों के लिए पर्याप्त प्रतीत होता है।

+0

बहुत बढ़िया सामान !! – thatsdisgusting

+0

बहुत अच्छा है, यह आपके इशारे को अच्छी तरह से फिर से बनाता है। यह आसानी से वर्णमाला के लिए इस्तेमाल किया जा सकता है – iwasrobbed

संबंधित मुद्दे