我正在使用Scipy应用一些过滤器,如下所示:
def sobel_operator(data):
scipy.misc.imsave('sobel.png', mag)
mask_x = numpy.array([[-1, 0, +1],
[-2, 0, +2],
[-1, 0, +2]])
mask_y = numpy.array([[+1, +2, +1],
[0, 0, 0],
[-1, -2, -1]])
dx = ndimage.convolve(data.data, mask_x)
dy = ndimage.convolve(data.data, mask_y)
m = numpy.hypot(dx, dy)
print m
scipy.misc.imsave('sobel1.png', m)
m *= 255.0 / numpy.max(m) # normalize (Q&D)
print m
scipy.misc.imsave('sobel2.png', m)
以下是我的输出:
第一张图像与第二幅图像相同(此处上传使图像更暗)。我怀疑的是为什么第二张和第一张图像是相同的,因为在第一张图片中我没有应用归一化,而且我有很多值> 255(这里看起来这个值已被截断为255,但我知道情况并非如此,因为我的计算机上的图像更像是灰度,然后是黑色,就像这里一样)。 Scipy是否以同样的方式照顾它?
提前谢谢。