2013-03-04 56 views
1

我有一個腳本,讀取圖像數據,然後遍歷與scipy.ndimage中位數過濾器的圖像。從迭代中我創建新的數組。ndimage腳本錯誤行爲

然而,當我試圖與

run filtering.py 

過濾運行腳本似乎並沒有工作。新數組(month_f)與舊數組相同。

import matplotlib.pyplot as plt 
import numpy as numpy 
from scipy import ndimage 
import Image as Image 


# Get images 

#Load images 

jan1999 = Image.open('jan1999.tif') 
mar1999 = Image.open('mar1999.tif') 
may1999 = Image.open('may1999.tif') 
sep1999 = Image.open('sep1999.tif') 
dec1999 = Image.open('dec1999.tif') 
jan2000 = Image.open('jan2000.tif') 
feb2000 = Image.open('feb2000.tif') 

#Compute numpy arrays 

jan1999 = numpy.array(jan1999) 
mar1999 = numpy.array(mar1999) 
may1999 = numpy.array(may1999) 
sep1999 = numpy.array(sep1999) 
dec1999 = numpy.array(dec1999) 
jan2000 = numpy.array(jan2000) 
feb2000 = numpy.array(feb2000) 

########### Put arrays into a list 

months = [jan1999, mar1999, may1999, sep1999, dec1999, jan2000, feb2000] 


############ Filtering = 3,3 

months_f = [] 

for image in months: 
    image = scipy.ndimage.median_filter(image, size=(5,5)) 
    months_f.append(image) 

任何幫助,將不勝感激:)

回答

0

這是相當註釋,但由於名聲限制我不能寫一個。

您導入模塊的方式有點奇怪。特別是「進口..作爲」與理想名稱。我覺得更pythonian辦法是

import matplotlib.pyplot as plt 
import numpy as np 
from scipy import ndimage 
from PIL import Image 

,然後調用

image = ndimage.median_filter(image, size=(...)) 

當我運行你的步驟,它似乎工作一個RGB測試圖像。

jan1999.shape返回什麼?

+0

ups,沒有意識到這個問題太舊了...... – MrCyclophil 2015-11-16 17:41:55