自学内容网 自学内容网

基于Matlab的图像去噪算法仿真(三)

    1. 基于模糊小波变换法的仿真

选用模糊小波变换法对含有高斯噪声和椒盐噪声的图像进行去噪,并用Matlab软件仿真。

(1)给图像加入均值为0,方差为0.02的高斯噪声,用小波函数coif2对图象进行2层分解,选择3×3模板去噪

Matlab部分代码:

function y=zishiying(x)

x11=medfilt2(x,[3 3]);    

x12=double(x11);

[a,b]=size(x12);

[c,s]=wavedec2(x12,3,'coif2'); 

n=[1,2,3];              

p4=0.02*(sqrt(2*log(a*b)));

size(detcoef2('h',c,s,1)); 

size(detcoef2('v',c,s,1));

size(detcoef2('d',c,s,1));

p1(1)=detcoef2('h',c,s,1);

p2(1)=detcoef2('v',c,s,1);

p3(1)=detcoef2('d',c,s,1);

p1(2)=detcoef2('h',c,s,2);     

p2(2)=detcoef2('v',c,s,2);

p3(2)=detcoef2('d',c,,s,2);

for i=1:1:2             

   p1(i)=1/((p1(i)-p4)^2+1); 

     if p1(i)>=p4                  

      p1(i)=sign(p1(i))*(abs(p1(i))-p1(i)*p4);

else

p1(i)=0;

end

     if p2(i)>=p4

      p2(i)=sign(p2(i))*(abs(p2(i))-p2(i)*p4);

else

p2(i)=0;

end

   if p3(i)>=p4

      p3(i)=sign(p3(i))*(abs(p3(i))-p3(i)*p4);

else

p3(i)=0;

end

end  

仿真结果如图1-7所示。

(2)给图像加入噪声密度为0.02的椒盐噪声,选择3×3模板去噪

仿真结果如图4-8所示。

从仿真结果可以看出:为验证本文算法的滤波效果,对加入不同噪声的图像进行了滤波测试。从视觉来看,自适应模糊小波变换算法在保持细节和去噪两方面效果最好。在平滑高斯噪声和有脉冲噪声的图像去噪效果都很显著。本算法相对于其它几种算法其效果都有明显的改进,既能够很好地消除噪声,又能够较好地保持图像边缘细节,而且算法简单,易于实现。目前使用比较广泛。


原文地址:https://blog.csdn.net/2401_87911692/article/details/144041973

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!