2010-08-06 9 views
7

मैं कुछ छवि प्रसंस्करण कर रहा हूं, और नीचे पड़ने वाले लोगों के समान बिंदुओं का ट्रैक रखने की कोशिश कर रहा हूं, जो कुछ पड़ोसी लोगों के साथ कुछ पिक्सेल व्यास का एक बहुत ही अंधेरा स्थान है पिक्सेल उज्ज्वल हो रहा है। मुझे यकीन है कि इसके लिए डिज़ाइन किए गए एल्गोरिदम और विधियां हैं, लेकिन मुझे नहीं पता कि वे क्या हैं। मुझे नहीं लगता कि किनारे का पता लगाना काम करेगा, क्योंकि मैं केवल छोटे धब्बे चाहता हूं। मैंने morphological ऑपरेटरों के बारे में थोड़ा पढ़ा है, क्या यह एक उपयुक्त दृष्टिकोण हो सकता है?अपने पड़ोसियों की तुलना में काफी भिन्न बिंदुओं का पता लगाने के लिए

धन्यवाद

wavelet filtered image

+0

क्या आप केवल चमकदार पृष्ठभूमि या अंधेरे पृष्ठभूमि पर चमकदार बिंदुओं पर अंधेरे बिंदुओं के लिए देख रहे हैं? –

उत्तर

1

व्यक्तिगत रूप से मुझे यह corner detection algorithms मैनुअल पसंद है।

इसके अलावा आप विचार को शोषण करके बेवकूफ कोने का पता लगाने एल्गोरिदम का कसरत कर सकते हैं कि अलग पिक्सेल ऐसा पिक्सेल है जिसके माध्यम से हर दिशा में तीव्रता में भारी परिवर्तन होता है। यह शुरू करने और बेहतर एल्गोरिदम के लिए आगे बढ़ने का एक प्रारंभिक विचार है।

+0

404 कोशिश करूँगा, यहां कोने का पता लगाने के लिए विकिपीडिया पेज है (मुझे यह जानने का कोई तरीका नहीं है कि यह लिंक किए गए आलेख में समान जानकारी को कवर करता है): https: // en। wikipedia.org/wiki/Corner_detection – dtudury

5

लूप अपनी छवि में अपने प्रत्येक पिक्सेल से अधिक। जब आप पिक्सेल पर विचार करते हैं, तो इसे "प्रयुक्त" के रूप में चिह्नित करें (इसे कुछ सेंटीनेल मान में बदलें, या इस डेटा को छवि के समानांतर एक अलग सरणी में रखें)।

जब आप एक अंधेरे पिक्सेल में आते हैं, तो flood-fill पर प्रदर्शन करें, उन सभी पिक्सेल को "इस्तेमाल" के रूप में चिह्नित करें, और ट्रैक करें कि कितने पिक्सेल भर गए थे। बाढ़ भरने के दौरान, सुनिश्चित करें कि पिक्सेल आप विचार कर रहे हैं अंधेरा नहीं है, कि यह पर्याप्त उज्ज्वल है।

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

+0

यह एक अच्छा तरीका है, मैं अब लिंक पर – Simonw

2

क्या आप वाकई एक किनारे का पता लगाने की तरह नहीं करना चाहते हैं? ऐसा लगता है कि मौजूदा पिक्सेल की तुलना पड़ोस पिक्सेल के औसत मूल्य से की जाती है, यह चाल चलती है। (मैं सुनिश्चित करने के लिए विभिन्न पड़ोस के आकार का मूल्यांकन करूंगा।)

0

यह कुछ सालों से रहा है क्योंकि मैंने कोई छवि प्रसंस्करण किया है। लेकिन मैं शायद बाइनरी प्रतिनिधित्व में परिवर्तित करके शुरू करूंगा। ऐसा प्रतीत नहीं होता है कि आप भूरे रंग के मध्य मूल्यों में अत्यधिक रूचि रखते हैं, केवल बहुत ही अंधेरे/बहुत हल्के क्षेत्र, इसलिए सभी भूरे रंग से छुटकारा पाएं। उस बिंदु पर, विभिन्न मॉर्फोलॉजिकल ऑपरेशंस आपके द्वारा रुचि रखने वाले बिंदुओं को बढ़ा सकते हैं। खोलना और बंद करना लागू करना बहुत आसान है, और आप अच्छे बिंदुओं को छोड़कर, हर जगह काले रंग के क्षेत्र को छोड़कर बहुत अच्छे परिणाम प्राप्त कर सकते हैं।

3

किसी प्रकार का औसत फ़िल्टरिंग कैसे करें? पिक्सल के आस-पास 3 * 3 ग्रिड (या कुछ अन्य उपयुक्त आकार) से नमूना मान और पिक्सेल के मान को 9 पिक्सल के औसत में सेट करें।

फिर अगर पड़ोसियों के सबसे चमकदार हैं पिक्सेल हो जाता है उज्ज्वल आदि

संपादित करें: कुछ सोच के बाद, मुझे एहसास हुआ कि यह बाहरी कारकों के कारण का पता नहीं लगा होगा, यह उन्हें निकाल देंगे। तो यह मूल पोस्टर समाधान नहीं था समाधान नहीं है।

1

मैं इन तरीकों कि कुछ पैरामीटर फेरबदल के साथ काम कर सकते हैं के बारे में सोच सकते हैं:

1

मैं वास्तव में सरल टेम्पलेट का सुझाव देने के लिए जा रहा हूँ इसके लिए मिलान करना, यदि आपकी सभी सुविधाएं मोटे तौर पर एक ही आकार के हैं।

कुछ टेम्पलेट्स बनाने के लिए बस एक (या कुछ विशेषताओं) के पिक्सल पेस्ट करें, और फिर सामान्यीकृत क्रॉस सहसंबंध या किसी भी अन्य स्कोर का उपयोग करें जो OpenCV समान टेम्पलेट मिलान करने वाले दिनचर्या में समान क्षेत्रों को खोजने के लिए प्रदान करता है।नतीजतन, प्रतिक्रिया के सभी अधिकतम चोटियों का पता लगाएं (ओपनसीवी के लिए भी एक फ़ंक्शन है), और वे आपकी सुविधा निर्देशांक हैं।

0

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

0

ब्लर (3x3) आपकी छवि की एक प्रति तो अपनी मूल छवि को अलग करें। उच्चतम मूल्य वाले पिक्सल वे हैं जो अपने पड़ोसियों से सबसे अलग हैं। इसका उपयोग किनारे का पता लगाने एल्गोरिदम के रूप में किया जा सकता है लेकिन अंक सुपर-एज की तरह हैं इसलिए अपना थ्रेसहोल्ड उच्च सेट करें।

what a single off pixel looks like: 
(assume surrounding pixels are all 1) 

original blurred   diff 
1,1,1  8/9,8/9,8/9  1/9,1/9,1/9 
1,0,1  8/9,8/9,8/9  1/9,8/9,1/9 
1,1,1  8/9,8/9,8/9  1/9,1/9,1/9 


what an edge looks like: 
(assume surrounding pixels are the same as their closest neighbor) 

original blurred   diff 
1,0,0  6/9,3/9,0/9  3/9,3/9,0/9 
1,0,0  6/9,3/9,0/9  3/9,3/9,0/9 
1,0,0  6/9,3/9,0/9  3/9,3/9,0/9 
संबंधित मुद्दे