2013-07-11 9 views
8

में एक छवि को चिकनाई करना मैं पाइथन में प्रोग्रामिंग के लिए बहुत नया हूं, और मैं अभी भी सब कुछ समझने की कोशिश कर रहा हूं, लेकिन मुझे गॉसियन को चिकनी या एक छवि को हल करने की कोशिश करने में समस्या है। यह शायद एक आसान फिक्स है, लेकिन मैंने पागल होने शुरू करने के लिए इसे समझने की कोशिश करने में इतना समय बिताया है। मेरे पास आकाशगंगाओं के समूह की एक 3 डी। संगठन फ़ाइल है और मैंने एक निश्चित कटौती की है और उसे एपीपी के साथ एक पीएनजी में सहेजा है। असल में, इसे एक बड़े बीम आकार के लिए एक गाऊशियन के रूप में चिकना होना चाहिए (यानी एफडब्ल्यूएचएम का विस्तार करके पूरी चीज को बड़ा करना, लेकिन उत्पादन को कम करना)। मुझे पता है कि scipy.ndimage.convolve जैसी चीजें हैं और एक समान कार्य है जो मैं उपयोग कर सकता हूं, लेकिन मुझे कुछ उपयोगी में अनुवाद करने में कठिनाई हो रही है। अगर कोई मुझे इस के साथ हाथ दे सकता है और मुझे सही दिशा में इंगित कर सकता है तो यह एक बड़ी मदद होगी।गॉसियन पाइथन

+0

आप OpenCV की कोशिश की है (opencv) [http://opencv.willowgarage.com/documentation/python/imgproc_image_filtering.html] – PepperoniPizza

+0

मैंने लिंक की कोशिश की लेकिन यह काम नहीं किया। – Jenn

+0

हाँ क्षमा करें, एक टाइपो था, इसे अभी आज़माएं: http://opencv.willowgarage.com/documentation/python/imgproc_image_filtering.html – PepperoniPizza

उत्तर

14

शायद ऐसा कुछ?

import numpy as np 
import scipy.ndimage as ndimage 
import matplotlib.pyplot as plt 

img = ndimage.imread('galaxies.png') 
plt.imshow(img, interpolation='nearest') 
plt.show() 
# Note the 0 sigma for the last axis, we don't wan't to blurr the color planes together! 
img = ndimage.gaussian_filter(img, sigma=(5, 5, 0), order=0) 
plt.imshow(img, interpolation='nearest') 
plt.show() 

enter image description here enter image description here

(मूल छवि here से लिया गया)

+0

यह वास्तव में अच्छा काम करता है, धन्यवाद! क्या आप जानते हैं कि .fit फ़ाइल के साथ ऐसा करना संभव है? तो मैं मूल फ़ाइल के साथ इसे एक पीएनजी में परिवर्तित किए बिना कर सकता था। – Jenn

+1

उस प्रारूप को पढ़ने के लिए आपको एक विशिष्ट लाइब्रेरी की आवश्यकता होगी। मैंने त्वरित Google खोज का नेतृत्व किया [यहां] (http://www.astropy.org/)। मेरे सिस्टम पर 'एस्ट्रॉपी' स्थापित नहीं है, लेकिन ऐसा लगता है [अच्छी तरह से प्रलेखित] (https://astropy.readthedocs.org/en/v0.2.3/io/fits/index.html)। – Jaime

+0

बस pyfits का उपयोग करें? आयात pyfits ए = pyfits.getdata (फ़ाइल नाम) ए से आपके डेटा के साथ numpy.ndarray होना चाहिए, और उस पर ndimage फ़िल्टर करने से पहले – usethedeathstar

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