छवि से कुछ पृष्ठभूमि कैसे निकालें?


11

संतरा

यह गैबर छानने के बाद प्राप्त की गई छवि थी ... क्या चमकदार सफेद गोल दोष को छोड़कर छवि के अंदर की रेखाओं को हटाने का कोई तरीका है।

निम्नलिखित परिणाम जाने के लिए गैबर फिल्टर के एक और उन्मुखीकरण का प्रयास किया:

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

थ्रेशोल्डिंग के बाद: जो काफी ठीक है लेकिन बढ़िया नहीं है

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

मेडियन फ़िल्टरिंग के बाद:

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

अग्रिम में धन्यवाद


2
मंझला फिल्टर के साथ अच्छा काम। तुम अपने रास्ते पर अच्छी तरह से हो।
रीथंक

यह प्रसार फिल्टर लगाने के लिए एक अच्छे परिदृश्य की तरह लगता है। इसके अलावा, यह पूछने का प्रयास करें: <br/> dsp.stackexchange.com/ <br> photo.stackexchange.com/ <br>
डैनी

क्या आपने थ्रेशोल्ड के बाद माध्य फ़िल्टर लागू किया था? यदि हां, तो इसे बिना दहलीज के आज़माएँ।
डैनी वारोड

हां, मैंने थ्रेशोल्डिंग के बाद इसे आजमाया था और लगभग एक ही परिणाम मिला था जब मैंने इसे पहले भी किया था
विनी

जवाबों:


12

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

  1. किसी भी स्वचालित थ्रॉल्डिंग एल्गोरिथ्म के साथ अपनी दूसरी छवि को बिनाराइज़ करें। थ्रेशोल्ड की रेंज जो काम करेगी बड़ी है जैसा कि आप देखेंगे।

  2. एक अद्वितीय मूल्य के साथ पिक्सेल के प्रत्येक जुड़े क्षेत्र को लेबल करने के लिए एक घटक लेबलिंग एल्गोरिदम का उपयोग करें।

  3. अपनी छवि के प्रत्येक घटक के लिए गणना करें जो एक संपत्ति का वर्णन करता है, आपकी वस्तु एक भरे हुए सर्कल के कितनी करीब है। इसके लिए, आप उदाहरण के लिए कॉम्पैक्टनेस का उपयोग कर सकते हैं । मैंने बराबर डिस्क त्रिज्या के भीतर पिक्सेल के अंश के नीचे उपयोग किया । यह त्रिज्या त्रिज्या एक डिस्क है जिसमें उसी क्षेत्र के साथ आपकी वस्तु होगी।

    1. क्षेत्र केवल आपकी वस्तु के पिक्सेल की संख्या की गिनती कर रहा है
    2. अपने क्षेत्र को दिए गए वृत्त की त्रिज्या की गणना करना भी प्रबंधनीय होना चाहिए
    3. इस त्रिज्या के अंदर पिक्सेल के लिए, आपको प्रत्येक छवि ऑब्जेक्ट के केंद्र की आवश्यकता होती है, लेकिन यह ऑब्जेक्ट-पिक्सेल के सभी पदों का मतलब है। यदि आप भौतिक विज्ञानी हैं, तो आप कई बिंदुओं के द्रव्यमान के केंद्र को जानते हैं। यह बराबर है।
    4. अब आप प्रत्येक ऑब्जेक्ट के प्रत्येक पिक्सेल के लिए उसके केंद्र से दूरी की गणना करते हैं और जांचते हैं कि यह छोटा है या नहीं तो वृत्त त्रिज्या है। दो नंबरों को विभाजित करने और आपको अंदर और बाहर पिक्सेल का अंश मिलता है।
  4. उच्चतम अंश वाली वस्तु को लें। नोट: केवल एक पिक्सेल वाली वस्तुओं को 1 का मान मिलेगा। इसलिए आपको एक आकार-सीमा निर्धारित करनी चाहिए और केवल बड़ी वस्तुओं को लेना चाहिए, 10 पिक्सेल।

यह देखने के लिए, कि एक स्वत: द्वैतकरण काम करना चाहिए, यहाँ बहुत कम और बहुत अधिक सीमा के परिणाम हैं:

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

अद्यतन घटक लेबलिंग

आपके आवेदन के लिए घटक लेबलिंग का विकल्प महत्वपूर्ण नहीं है। मेरा सुझाव है, यदि आपको इसे स्वयं लागू करना है, तो एक बहुत ही सरल विधि का उपयोग करें। एक पास संस्करण विकिपीडिया साइट से बहुत आसान है। मूल रूप से आप अपनी द्विआधारी छवि के माध्यम से पुनरावृत्ति करते हैं और जब आप एक पिक्सेल से मिलते हैं जो सफेद है और पहले से ही लेबल नहीं है तो आप इस ऑब्जेक्ट के लिए एक नया लेबल का उपयोग करते हैं और इस पिक्सेल से शुरू करते हैं।

इस ऑब्जेक्ट को लेबल के साथ लेबल करने की प्रक्रिया मूल रूप से बाढ़ भराव के समान है। यह एल्गोरिथम में विकिपीडिया-साइट के आंतरिक चरणों 1-4 पर है। आप इस लेबल वाले पिक्सेल से शुरू करते हैं और अपने सभी पड़ोसियों को एक स्टैक पर डालते हैं (वे एक वेक्टर का उपयोग करते हैं )। स्टैक पर एक पिक्सेल के लिए आप जांचते हैं कि क्या यह अग्रभूमि है और पहले से ही लेबल नहीं है। यदि आपको इसे लेबल करना है, तो आप इसके सभी पड़ोसियों को फिर से स्टैक पर रखें। ऐसा तब तक करें जब तक आपका स्टैक खाली न हो जाए।

फिर आप छवि के माध्यम से अपना स्कैन जारी रखें। विकी-साइट पर वर्णन के विपरीत, आपको अपनी मूल छवि से पिक्सेल को निकालने की आवश्यकता नहीं है, आप तभी छोड़ते हैं जब आपकी लेबल-छवि में 0 से भिन्न मान होता है।


यहाँ क्या आप पर फिर से असर डालते हैं?
विनी

1
@vini, मैंने अपनी पोस्ट अपडेट की। फोनन, धन्यवाद। हम बहुत सारे रूपात्मक उपायों का उपयोग करते हैं और विशेष रूप से थोड़ी देर पहले कॉम्पैक्टनेस बहुत उपयोगी थी।

यूप ग्रेट को यह मिला :)
vini

6

कुछ विचार:

  1. किनारे की ताकत के घनत्व के आधार पर किनारों को फ़िल्टर करें। एक परिपत्र कर्नेल के एक सन्निकटन का उपयोग करते हुए, औसत धार शक्ति (या कुछ अन्य उपाय) ढूंढें। थ्रेशोल्ड मान पर या उसके ऊपर किसी भी किनारे से गुजरें, थ्रेसहोल्ड के नीचे किसी भी किनारों को काला करने के लिए सेट करें।
  2. छवि को साफ करने के लिए एक रूपात्मक "करीब" ऑपरेशन (कटाव के बाद पतला) का उपयोग करें, फिर सभी ब्लॉब्स को खोजने के लिए एक क्षेत्र लेबलिंग एल्गोरिदम (उर्फ जुड़ा घटक, बूँदें) का उपयोग करें। आकार के अनुसार बूँद डेटा को फ़िल्टर करें, प्रमुख से मामूली अक्षों का अनुपात, आदि।
  3. गॉसियन कलंक की कोशिश करें, अंधेरे से खंड प्रकाश के लिए एक बिनाराइजेशन थ्रेशोल्ड ढूंढें, और फिर ऊपर चरण 2 में वर्णित के रूप में फिल्टर को फ़िल्टर करें। (एक गाऊसी धब्बा के एक त्वरित सन्निकटन के लिए, अपनी पलकें अधिकतर बंद कर दें और छवि पर स्क्विंट करें।)
  4. फ़ोटोशॉप या GIMP में कुछ फ़िल्टर आज़माएं।

संपादित करें: आपके माध्य फ़िल्टरिंग चरण के बाद, आप वहां सबसे अधिक हैं। बहुत बढ़िया! आइटम 2 जो मैंने ऊपर सुझाया था (करीब, फिर क्षेत्र लेबलिंग) एक तकनीक है जो आपको बाकी हिस्सों में ले जाती है।


यूप की कोशिश होगी कि यू-नाइट को क्या होने दिया जाए
vini

1

आप सक्रिय आकृति की कोशिश कर सकते हैं। हालांकि यह शायद धीमा है, यह इस तरह के जटिल मामले को संभाल सकता है।

या आप इस छवि को संसाधित करने के लिए कुछ पूर्व ज्ञान का उपयोग कर सकते हैं। उदाहरण के लिए, आप जानते हैं कि बूँद बात 'बड़ी' और 'जुड़ी' है। इस प्रकार जब आप प्रत्येक जुड़े क्षेत्र की संख्या की गणना करते हैं, तो आप इसे पा सकते हैं।

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