टेम्पलेट मिलान से पहले आवश्यक इमेज प्रोसेसिंग ऑपरेशन


13

खैर, यह दिखा सकता है कि मैंने इमेज प्रोसेसिंग क्लास नहीं ली।

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

एक अन्य विचार में, मैं छवि के लिए टेम्पलेट फिट करता हूं। यही है, मैं टेम्पलेट में उन लोगों से मेल खाने के लिए छवि पर चार कोने निर्देशांक देता हूं। फिर यह क्षेत्र में टेम्पलेट को फिट करने का एक तरीका गणना करेगा।

अद्यतन: समस्या हल हो गई। नीचे दिए गए उत्तर के लिए धन्यवाद। मैं छवि पर अपने टेम्पलेट को सफलतापूर्वक लागू करने में कामयाब रहा। अंतिम छवि परिणाम दिखाती है।

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें


आप उस सफेद ग्रिड से मेल नहीं खाने वाले हैं, क्या आप हैं? आप अपनी दूसरी छवि में वास्तविक रंगीन ग्रिड से मेल खाना चाहते हैं, है ना?
एंडोलिथ

@endolith मुझे लगता है कि या तो रास्ता ठीक है।
ताई-सुंग शिन

क्या आप अपने एल्गोरिथ्म की मूल अवधारणा को साझा कर सकते हैं? मुझे एक चार्ट के लिए ऐसा करने की आवश्यकता है।
गिल्ड

जवाबों:


9

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

आकृति के ज्ञात होने पर परिप्रेक्ष्य का सुधार

प्रीप्रोसेसिंग का अंतिम लक्ष्य उस ग्रे आयत के कोनों को खोजना है जो पृष्ठभूमि रंग चार्ट है। मैंने निरंतर मूल्य के साथ बस थ्रेसहोल्ड द्वारा शुरू किया। साहित्य / वेब में थ्रॉल्डिंग करने के तरीके के बारे में बहुत सारी जानकारी है जब छवि में असमान प्रकाश होता है, लेकिन यदि आप कर सकते हैं, तो इमेजिंग सेटअप को ठीक करने का प्रयास करें ताकि प्रकाश अपेक्षाकृत समान हो।

निरंतर मूल्य के साथ थ्रेसहोल्ड

मैंने माना कि रंग चार्ट स्क्रीन के काफी बड़े हिस्से को लेता है, इसलिए यह संभवतः छवि का सबसे बड़ा निरंतर क्षेत्र है। कई ब्लैक एंड व्हाइट लेबलिंग फ़ंक्शन मौजूद हैं (MATLABs bwlabel, IPPs LabelMarkers, OpenCV में एक्सटर्नल लाइब्रेरी cvblob है) जो प्रत्येक अलग-अलग जुड़े क्षेत्र को अपना खुद का इंडेक्स देगा। लेबलिंग के बाद आप हिस्टोग्राम का उपयोग करके जुड़े घटकों के क्षेत्रों की गणना कर सकते हैं और फिर सबसे बड़े क्षेत्र के साथ घटक का चयन कर सकते हैं।

सबसे बड़ी बूँद खोजें

आमतौर पर घटकों को भरने के लिए यह अच्छा विचार है कि घटक में छेद नहीं हैं, इससे किनारे पिक्सेल की संख्या कम हो जाती है।

बूँद भर देना

अब हम एज फाइंडिंग ऑपरेटर्स का उपयोग कर सकते हैं (मैंने ग्रेडिएंट बेस्ड विधि का उपयोग किया है, लेकिन बोर्डर से संबंधित पिक्सल प्राप्त करने के लिए आप सफेद पिक्सेल का अनुसरण करके किनारे का पता लगा सकते हैं जो कि काले पिक्सेल से जुड़े हैं)।

किनारे ढूंढो

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

अब हमारे पास रंग चार्ट के कोने हैं और जैसा कि हम चार्ट के आयामों को जानते हैं, हम परिवर्तन मैट्रिक्स (होमोग्राफी, दो विमानों के बीच प्रक्षेपण) की गणना कर सकते हैं । मिलीमीटर निर्देशांक के बीच को हल करने के लिए प्रत्यक्ष रैखिक परिवर्तन (डीएलटी) का उपयोग करें और पिक्सेल निर्देशांक।HH

x=HX

इस परिवर्तन मैट्रिक्स का उपयोग तब मूल छवि को बदलने के लिए किया जा सकता है जैसे कि रंग चार्ट को सतह की सामान्य दिशा से सीधे imaged किया जाता है।

किनारों तक फिट लाइन

जैसा कि देखा जा सकता है कि केवल रेडियल विरूपण ही बचा है। जब हमने छवि परिवर्तन (2 डी इंटरपोलेशन) के लिए ट्रांसफॉर्मेशन उपयोग किया , तो हमने प्रक्षेप निर्देशांक को इस तरह चुना, कि हम छवि के सटीक रिज़ॉल्यूशन को जानते हैं, जिसका अर्थ है कि अब हम अक्षरों के आकार के उदाहरण के लिए जानते हैं।H

यदि हम अभी भी कुछ टेम्पलेट मिलान करना चाहते हैं, तो हम किसी भी सभ्य टेम्पलेट मिलान विधि का उपयोग कर सकते हैं। विधि को घूर्णन / पैमाने पर नहीं होना चाहिए क्योंकि छवि पहले से ही ठीक हो चुकी है।

सही परिप्रेक्ष्य


1

बढ़त का पता लगाने के साथ शुरू करो। फिर सीधी रेखाओं का पता लगाने के लिए Hough रूपांतरण का उपयोग करें। फिर पता करें कि कौन सी रेखाएं समानांतर हैं और कौन सी लंबवत होनी चाहिए। फिर अनुमानित परिवर्तन का अनुमान लगाएं ताकि जो रेखाएं लंबवत होनी चाहिए वे वास्तव में लंबवत हों।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.