2011-03-02 3 views
6

मैं वर्तमान में, सी # में, एक बड़ी छवि में एक विशिष्ट पैटर्न खोजने का एक तरीका जानने का प्रयास कर रहा हूं, वास्तव में एक स्क्रीनशॉट। एक 100% मैच की आवश्यकता है, इसलिए समस्या बहुत सीधी है।छवि पैटर्न मिलान (यदि मौजूदा रिटर्न निर्देशांक मौजूद हैं)

टेस्ट सामग्री: http://www.myhideout.eu/temp/pattern.png (एनबी: पारदर्शी पिक्सेल अप्रासंगिक हैं और परीक्षण नहीं किया जाना चाहिए।) http://www.myhideout.eu/temp/test.png

एक पैटर्न पाया जाता है, मैं समन्वय इसलिए मुझे पता है, जहां किसी प्रकार का आवश्यकता होगी, लेकिन है कि आसान हिस्सा।

एकमात्र दृष्टिकोण जो मैं अभी तक आया हूं वह स्पष्ट है। एक मैच मिलने तक परीक्षण छवि के माध्यम से पैटर्न के पहले पिक्सेल लें और तब तक शेष पैटर्न का परीक्षण करें, जब तक कि परीक्षण विफल न हो जाए या कोई और पैटर्न न हो। यदि परीक्षण विफल रहता है, तो अगले पिक्सेल को जारी रखें जो पैटर्न के पहले पिक्सेल से मेल खाता है और पुनः प्रयास करें। यदि आप बिना किसी मैच के परीक्षण छवि के माध्यम से भागते हैं, तो जाहिर है कि ऐसा कोई पैटर्न नहीं है और यह परीक्षण का परिणाम होना चाहिए।

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

हालांकि, मेरी सबसे बड़ी चिंता समय है। यह एक लंबी प्रक्रिया का एक छोटा सा हिस्सा है और लक्ष्य कुल निष्पादन समय को कुछ सेकंड तक ले जाना है। एक 1920 * 1200 छवि की कल्पना करो, जो सीमा के बारे में है, जहां पैटर्न अंत में है और इससे पहले कई आंशिक मिलान होते हैं।

मैंने निश्चित रूप से नेट, विभिन्न फोरा इत्यादि की खोज की है, लेकिन एकमात्र सामग्री जो मैं साथ आती हूं वह बहुत ही उन्नत है और अगर मैं इसे समझने में कामयाब रहा तो यह बहुत ही अलग उद्देश्यों के लिए है।

मैं यह भी विचार कर रहा हूं कि पैटर्न और परीक्षण छवि को किसी प्रकार के बिटसेट में परिवर्तित करना संभव होगा और फिर बस और, SHIFT और/या MASK इसके माध्यम से मेरे रास्ते को बदलना संभव है, लेकिन यह मेरी वर्तमान क्षमताओं से परे है।

मुझे लगता है कि मैंने यहां अपनी समस्या का वर्णन किया है। मुझे कोड उदाहरणों के अंतराल के लिए खेद है, लेकिन जो मुझे मिला है वह किसी के लिए थोड़ा सा उपयोग नहीं करेगा और शर्मनाक भी होगा।

मैं किसी भी मदद की बहुत सराहना करता हूं।

उत्तर

1

यदि आप गारंटी दे सकते हैं कि आपकी छवियां एक ही उन्मुखीकरण में हैं, तो आपका सरल कार्यान्वयन शायद सबसे तेज़ होगा।

हालांकि, यदि आप घुमाए गए चित्रों के खिलाफ जांच कर रहे हैं, ग्रेस्केल में परिवर्तित हो गए हैं, या किसी अन्य प्रकार के परिवर्तन, यह जल्दी से विफल हो जाएगा।

मेरे पास आपके लिए कोई कोड नहीं है, लेकिन Generation5 (एआई लेख) से कुछ अच्छे संसाधन हैं, खासकर McGill University's COMP-644 (Pattern Recognition) course से।

आशा है कि आप गणित पसंद करेंगे।

+0

आपके उत्तर के लिए धन्यवाद। यदि यह सच है कि आप क्या कहते हैं, तो मुझे लगता है कि यह कोड को व्यवस्थित करने के तरीके को समझने का मामला है। – Zacariaz

+0

मैं इसे देखने के लिए निश्चित रहूंगा। धन्यवाद। – Zacariaz

0

तर्ज पर सामान्य अनुसंधान के अलावा मिलान

  1. अपनी खोज रणनीति का वर्णन जानवर बल स्ट्रिंग खोज एल्गोरिथ्म की तरह लगता है; क्या आप अनुकूलित स्ट्रिंग खोज विधियों को लागू कर सकते हैं (उदा।बॉयर मूर) आपकी समस्या के लिए?
  2. अपने पैटर्न और अपने 'हैस्टैक' को देखकर - एक (त्वरित?) ग्रे फ्रेम के लिए खोज करने से पहले आइकन की तलाश करने से पहले निष्पादन गति में सुधार होना चाहिए।
  3. यदि आप उस क्षेत्र को प्रतिबंधित कर सकते हैं जहां पैटर्न की अपेक्षा की जाती है और पैटर्न को प्रीप्रोसेस करते हैं, तो ओसीआर अवधारणाओं/कोड का उपयोग करके एक विकल्प हो सकता है।

बेशक, कुछ भी लाइब्रेरी को हरा नहीं सकता जो वास्तव में आप चाहते हैं।

+0

मैंने बॉयर मूर को देखा और ईमानदार होने के लिए, मुझे नहीं लगता कि मैं अवधारणा को समझता हूं। हालांकि उसने मुझे एक विचार दिया कि मुझे इसके बारे में सोचना होगा। अभी के लिए, मान लीजिए कि आप टेस्ट छवि के पहले पिक्सेल के खिलाफ पटर के पहले पिक्सेल की जांच करते हैं। यदि यह मेल खाता है, तो आप पहले वर्णित अनुसार करते हैं, लेकिन यदि ऐसा नहीं होता है, तो भी आप पटर में अगले पिक्सेल पर जाते हैं, हालांकि, परीक्षण छवि में आप 2 पिक्सेल आगे बढ़ते हैं। यह संभवतः आधा काम मुझे लगता है, लेकिन मुझे इसके बारे में सोचना चाहिए। 2.हाँ, मुझे ऐसा लगता है, लेकिन मुझे लगता है कि बाद में कार्यान्वयन होगा, क्योंकि अब मैं एक कदम उठाऊंगा। – Zacariaz

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