基于Matlab的图像去噪算法仿真(三)
选用模糊小波变换法对含有高斯噪声和椒盐噪声的图像进行去噪,并用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)!