【发布时间】:2011-12-15 04:44:47
【问题描述】:
作为数字图像处理课程的一部分,我们被分配了用于图像恢复的逆滤波器。我正在使用 numpy.下面的变量名称尝试遵循 数字图像处理 Gonzalez+Woods, 3e 中的名称。
原始图像的缩放。 .
高斯核“zz.tif”与原始图像大小相同。
没有添加噪声的高斯平滑图像的缩放
f = imtools.load_image( sys.argv[1], mode="L", dtype="float" )
zz = imtools.load_image( "zz.tif", mode="L", dtype="float" )
F = np.fft.fft2( f )
F2 = np.fft.fftshift( F )
# normalize to [0,1]
H = zz/255.
# calculate the damaged image
G = H * F2
# Inverse Filter
F_hat = G / H
# cheat? replace division by zero (NaN) with zeroes
a = np.nan_to_num(F_hat)
f_hat = np.fft.ifft2( np.fft.ifftshift(a) )
imtools.save_image( np.abs(f_hat), "out.tif" )
imtools 只是我使用 PIL+numpy 加载/存储图像的包装器。 (也可以发布那个src。)
逆滤波图像的缩放。
我是否正确计算了逆滤波器?我是否正确使用了 numpy?
最终图像中的铃声是预期的还是我做错了什么?
【问题讨论】:
-
代码是否产生了预期的结果?你把它交给评分了吗?
-
我还没有提交评分(截止日期为 11 月 2 日)。我想知道我是否做对了,得到了反向过滤器的预期图像。
标签: python image-processing numpy