【发布时间】:2019-09-24 15:39:35
【问题描述】:
我正在 python 中实现 Weiner 过滤,它应用于使用磁盘形状点扩散函数模糊的图像,我包括制作磁盘形状 psf 和 Weiner 过滤器的代码
def weinerFiltering(kernel,K_const,image):
#F(u,v)
copy_img= np.copy(image)
image_fft =np.fft.fft2(copy_img)
#H(u,v)
kernel_fft = np.fft.fft2(kernel,s=copy_img.shape)
#H_mag(u,v)
kernel_fft_mag = np.abs(kernel_fft)
#H*(u,v)
kernel_conj = np.conj(kernel_fft)
f = (kernel_conj)/(kernel_fft_mag**2 + K_const)
return np.abs(np.fft.ifft2(image_fft*f))
def makeDiskShape(arr,radius,centrX,centrY):
for i in range(centrX-radius,centrX+radius):
for j in range(centrY-radius,centrY+radius):
if(l2dist(centrX,centrY,i,j)<=radius):
arr[i][j]=1
return arr/np.sum(arr)
this is blurred and gaussian noised image
this is what i am getting result after weiner filtering for K value of 50 结果似乎不是很好,有人可以帮忙吗 似乎噪声减少了,但模糊量没有,盘形 psf 矩阵的形状为 20,20,半径为 9,看起来像 this
更新 使用地面实况图像和噪声的功率谱来计算 K 常数值,我仍然得到强烈的伪影 this is noised and blurred image
this is result after using power specturm in place of a constant K value
【问题讨论】:
-
这家伙的名字是 Norbert Wiener,不是 Weiner...
-
@Piglet 感谢您提供有用的信息
标签: image-processing signal-processing