【图像去噪】基于维纳滤波图像去噪matlab代码

552 阅读1分钟

1 简介

​图像在采集、获取以及传输的过程中,往往要受到噪声的污染,形成噪声图像。图像去噪是图像处理领域中的一个重要环节。为了对含有高斯白噪声的图像进行去噪,在Donoho提出的小波阈值去噪算法的基础上,提出一种基于维纳滤波的小波图像去噪算法,利用维纳滤波后剩下的信号来计算噪声的标准方差。仿真结果表明,与Donoho提出的鲁棒中值算法相比,该算法能够有效地抑制高斯白噪声,更好地保留图像的边缘细节。

2 部分代码

In=imread('pic.jpg');
I=rgb2gray(In);
figure;  
subplot(2,2,1);
imshow(In);
title('原图像');
subplot(2,2,2);
imshow(I);
title('灰度图像');
[m,n]=size(I);
F=fftshift(fft2(I))
k=0.0005;
H=zeros(m,n);
for u=1:m
   for v=1:n    
       H(u,v)=exp((-k)*(((u-m/2)^2+(v-n/2)^2)^(5/6)))
   end
end
G=F.*H
I0=real(ifft2(fftshift(G)))
I1=imnoise(uint8(I0),'gaussian',0,0.001) 
subplot(2,2,3);
imshow(uint8(I1));
title('模糊退化且添加高斯噪声的图像')

3 仿真结果

4 参考文献

[1]张天瑜. "基于维纳滤波的小波图像去噪算法研究." 井冈山大学学报:自然科学版 32.1(2011):5.

部分理论引用网络文献,若有侵权联系博主删除。

5 MATLAB代码与数据下载地址

见博客主页