2012-02-28 10 views
6

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

हम SciPy.interpolate पैकेज में विभिन्न कार्यों की कोशिश की है: RectBivariateSpline, interp2d, splrep/splev, map_coordinates, लेकिन उन सभी को मौजूदा पिक्सेल के बीच नया पिक्सल खोजने में काम करने के लिए लग रहे हैं, हम उन्हें मनमाने ढंग से भरने बनाने के लिए "में असमर्थ थे छेद "डेटा में।

+8

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

+0

@ स्विस लॉल ... seriuosly? – neizod

+1

@ स्विस - उत्तर के रूप में पोस्ट करें, अगर यह स्वीकार हो जाता है तो आप हमेशा के लिए एक इंटरनेट नायक बनेंगे। – Gleno

उत्तर

6

जो आप चाहते हैं उसे Inpainting कहा जाता है।
OpenCV करता है कि आप क्या चाहते हैं एक inpaint() समारोह है।

+0

सही कीवर्ड के लिए धन्यवाद - अस्पष्ट। ओपनसीवी सबसे अच्छा विकल्प नहीं हो सकता है क्योंकि खगोलीय छवियां 64 बिट - प्रति पिक्सेल हैं, जब ओपनसीवी 1 चैनल 8 बिट या 3 चैनल 8 बिट छवियों (अधिकतम 24 बिट प्रति पिक्सेल) की अनुमति देता है। मुझे इनपेनटिंग का एक सरल कार्यान्वयन मिला है: https://github.com/gasagna/openpiv-python/blob/master/openpiv/src/lib.pyx – miceuz

+0

@miceuz Mathematica में एक इंपेंट फ़ंक्शन है जो डबल परिशुद्धता छवियों पर काम कर सकता है । –

+0

इनकेनटिंग के लिए जीएमआईसी भी देखें, http://gmic.eu। मैंने इसे बड़ी सफलता के साथ NO_DATA क्षेत्रों के लिए उपयोग किया है। 'gmic -h -inpaint' – RobLabs

3

क्या आप चाहते हैं सब पर प्रक्षेप नहीं है। इंटरपोलेशन इस धारणा पर निर्भर करता है कि ज्ञात बिंदुओं के बीच डेटा मोटे तौर पर संगत है। किसी भी गैर-तुच्छ छवि में, यह मामला नहीं होगा।

आप वास्तव में फ़ोटोशॉप सीएस 5 में सामग्री-जागरूक भरने की तरह कुछ चाहते हैं। GIMP-resynthesize प्लगइन के माध्यम से GIMP में एक निःशुल्क विकल्प उपलब्ध है। ये फ़िल्टर बेहद उन्नत हैं और उन्हें फिर से लागू करने की कोशिश करने के लिए पागल है। एक बेहतर विकल्प यह पता लगाने के लिए होगा कि इसके बजाय अपने प्रोग्राम में जीआईएमपी-रेजिनेज का उपयोग कैसे करें।

+3

असल में, पुनर्वितरण पहले वहां था, इसलिए यह "सामग्री-जागरूक भरने के माध्यम से सीएस 5 में उपलब्ध भुगतान विकल्प है" ... – Kheldar

1

मैं अपनी पहली जिम्प अजगर स्क्रिप्ट बनाया आप मदद कर सकता है कि: के रूप में वह अपने 4 निकटतम की औसत मूल्य के अनुसार एक मैट्रिक्स फिल्टर है कि एक छवि से सभी पारदर्शी पिक्सेल भरने है my scripts

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

यह किसी न किसी, सरल, धीमी, unoptimized लेकिन बग मुक्त है।

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