我有一个读取图像数据的脚本,然后用scipy.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)如有任何帮助,我们将不胜感激:)
发布于 2015-11-17 00:52:53
这是一个相当不错的评论,但由于声誉的限制,我不能写一个。
导入模块的方式有点奇怪。尤其是带有标识名称的"import .. as“。我认为更具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测试图像运行您的步骤时,它似乎可以工作。
Jan199.Shape返回什么?
https://stackoverflow.com/questions/15206092
复制相似问题