当前位置: 代码迷 >> 综合 >> 【图像去噪】基于维纳滤波图像去噪matlab代码
  详细解决方案

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

热度:77   发布时间:2023-12-03 22:50:45.0

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:mfor 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代码与数据下载地址

见博客主页

  相关解决方案