欢迎光临散文网 会员登陆 & 注册

【图像去噪】基于中值、均值、Lee、Kuan多种算法实现图像去噪含Matlab源码

2022-05-21 00:06 作者:Matlab工程师  | 我要投稿

1 简介

通过对含高斯噪声的图像进行分析和研究,采用中值、均值、Lee、Kuan多种滤波来进行图像去噪。

2 部分代码

clear;A1=imread('44.jpg')A=double(A1);figure(1)imshow(A/256)title('原始图像');[a,b]=size(A);ASp=imnoise(A/256,'speckle',0.02);figure(2)imshow(ASp);title('含散斑噪声的图像');% imwrite(ASp/256,'55.jpg');index_ASp=std2(ASp)/mean2(ASp);%散斑指数  潘云《数字全息技术中散斑噪声滤波算法比较》 ENL=mean2(ASp)^2/std2(ASp)^2;%等效视数psnr=PSNR(A,ASp);%中值滤波ME=Medf(ASp,3);%邻域 3*3ENL_Me3=mean2(ME)^2/std2(ME)^2;%等效视数index_ME3=std2(ME)/mean2(ME);%散斑指数 psnr_ME3=PSNR(A,ME);figure(3)% subplot(2,2,1);imshow(ME);title('中值滤波后的图像 3*3');ME=Medf(ASp,5);%邻域ENL_Me5=mean2(ME)^2/std2(ME)^2;%等效视数index_ME5=std2(ME)/mean2(ME);%散斑指数 psnr_ME5=PSNR(A,ME);figure(4)% subplot(2,2,2);imshow(ME);title('中值滤波后的图像 5*5');ME=Medf(ASp,7);%邻域 ENL_Me7=mean2(ME)^2/std2(ME)^2;%等效视数index_ME7=std2(ME)/mean2(ME);%散斑指数 psnr_ME7=PSNR(A,ME);figure(5)% subplot(2,2,3);imshow(ME);title('中值滤波后的图像 7*7');ME=Medf(ASp,9);%邻域ENL_Me9=mean2(ME)^2/std2(ME)^2;%等效视数index_ME9=std2(ME)/mean2(ME);%散斑指数 psnr_ME9=PSNR(A,ME);figure(6)% subplot(2,2,4);imshow(ME);title('中值滤波后的图像 9*9');%Lee滤波LE=Leef(256*ASp,5);ENL_Lee5=mean2(LE)^2/std2(LE)^2;%等效视数index_LE5=std2(LE)/mean2(LE);%散斑指数 psnr_LE5=PSNR(A,LE);figure(7)imshow(LE);title('Lee滤波后的图像 5*5');LE=Leef(256*ASp,7);ENL_Lee7=mean2(LE)^2/std2(LE)^2;%等效视数index_LE7=std2(LE)/mean2(LE);%散斑指数 psnr_LE7=PSNR(A,LE);figure(8)imshow(LE);title('Lee滤波后的图像 7*7');LE=Leef(256*ASp,9);ENL_Lee9=mean2(LE)^2/std2(LE)^2;%等效视数index_LE9=std2(LE)/mean2(LE);%散斑指数 psnr_LE9=PSNR(A,LE);figure(9)imshow(LE);title('Lee滤波后的图像 9*9');%Kuan滤波KU=Kuanf(256*ASp,5);ENL_Kuan5=mean2(KU)^2/std2(KU)^2;%等效视数index_Ku5=std2(KU)/mean2(KU);%散斑指数 psnr_Ku5=PSNR(A,KU);figure(10)  imshow(KU); title('Kuan滤波后的图像 5*5');KU=Kuanf(256*ASp,7);ENL_Kuan7=mean2(KU)^2/std2(KU)^2;%等效视数index_Ku7=std2(KU)/mean2(KU);%散斑指数 psnr_Ku7=PSNR(A,KU);figure(11)  imshow(KU); title('Kuan滤波后的图像 7*7');KU=Kuanf(256*ASp,9);ENL_Kuan9=mean2(KU)^2/std2(KU)^2;%等效视数index_Ku9=std2(KU)/mean2(KU);%散斑指数 psnr_Ku9=PSNR(A,KU);figure(12)  imshow(KU); title('Kuan滤波后的图像 9*9');%均值滤波AV=Avef(ASp,3)ENL_Aver3=mean2(AV)^2/std2(AV)^2;%等效视数index_AV3=std2(AV)/mean2(AV);%散斑指数 psnr_AV3=PSNR(A,AV);figure(13)  imshow(AV);title('均值滤波后的图像 3*3'); AV=Avef(ASp,5)ENL_Aver5=mean2(AV)^2/std2(AV)^2;%等效视数index_AV5=std2(AV)/mean2(AV);%散斑指数 psnr_AV5=PSNR(A,AV);figure(14)  imshow(AV);title('均值滤波后的图像 5*5'); AV=Avef(ASp,7)ENL_Aver7=mean2(AV)^2/std2(AV)^2;%等效视数index_AV7=std2(AV)/mean2(AV);%散斑指数 psnr_AV7=PSNR(A,AV);figure(15)  imshow(AV);title('均值滤波后的图像 7*7'); AV=Avef(ASp,9)ENL_Aver9=mean2(AV)^2/std2(AV)^2;%等效视数index_AV9=std2(AV)/mean2(AV);%散斑指数 psnr_AV9=PSNR(A,AV);figure(16)  imshow(AV);title('均值滤波后的图像 9*9'); %二次去噪EME=Medf(ME,9);%邻域 ENL_EME=mean2(EME)^2/std2(EME)^2;%等效视数index_EME=std2(EME)/mean2(EME);%散斑指数 psnr_EME=PSNR(A,EME);figure(17)imshow(EME);title('二次中值滤波后的图像 9*9');ELE=Leef(LE,9);ENL_ELE=mean2(ELE)^2/std2(ELE)^2;%等效视数index_ELE=std2(ELE)/mean2(ELE);%散斑指数 psnr_ELE=PSNR(A,ELE);figure(18)imshow(ELE);title('二次Lee滤波后的图像 9*9');EKU=Kuanf(KU,9);ENL_EKU=mean2(EKU)^2/std2(EKU)^2;%等效视数index_EKU=std2(EKU)/mean2(EKU);%散斑指数 psnr_EKU=PSNR(A,EKU);figure(19)  imshow(EKU); title('二次Kuan滤波后的图像 9*9');EAV=Avef(256*AV,9);ENL_EAV=mean2(EAV)^2/std2(EAV)^2;%等效视数index_EAV=std2(EAV)/mean2(EAV);%散斑指数 psnr_EAV=PSNR(A,EAV);figure(20)  imshow(EAV/256);title('二次均值值滤后的图像 9*9 '); disp('指标比较');disp('                       等效视数     散斑指数   峰值信噪比   ');fprintf('含噪图像:            %0.5g      %0.5g        %0.5g \n',ENL,index_ASp,psnr);fprintf('中值滤波后的图像3*3: %0.5g      %0.5g        %0.5g \n',ENL_Me3,index_ME3,psnr_ME3);fprintf('中值滤波后的图像5*5: %0.5g      %0.5g        %0.5g \n',ENL_Me5,index_ME5,psnr_ME5);fprintf('中值滤波后的图像7*7: %0.5g      %0.5g        %0.5g \n',ENL_Me7,index_ME7,psnr_ME7);fprintf('中值滤波后的图像9*9: %0.5g      %0.5g        %0.5g \n',ENL_Me9,index_ME9,psnr_ME9);fprintf('Lee滤波后的图像5*5:  %0.5g      %0.5g        %0.5g\n',ENL_Lee5,index_LE5,psnr_LE5);fprintf('Lee滤波后的图像7*7:  %0.5g      %0.5g        %0.5g\n',ENL_Lee7,index_LE7,psnr_LE7);fprintf('Lee滤波后的图像9*9:  %0.5g      %0.5g        %0.5g\n',ENL_Lee9,index_LE9,psnr_LE9);fprintf('Kuan滤波后的图像5*5: %0.5g      %0.5g        %0.5g\n',ENL_Kuan5,index_Ku5,psnr_Ku5);fprintf('Kuan滤波后的图像7*7: %0.5g      %0.5g        %0.5g\n',ENL_Kuan7,index_Ku5,psnr_Ku7);fprintf('Kuan滤波后的图像9*9: %0.5g      %0.5g        %0.5g\n',ENL_Kuan9,index_Ku5,psnr_Ku9);fprintf('均值滤波后的图像3*3: %0.5g      %0.5g        %0.5g \n',ENL_Aver3,index_AV3,psnr_AV3);fprintf('均值滤波后的图像5*5: %0.5g      %0.5g        %0.5g \n',ENL_Aver5,index_AV5,psnr_AV5);fprintf('均值滤波后的图像7*7: %0.5g      %0.5g        %0.5g \n',ENL_Aver7,index_AV7,psnr_AV7);fprintf('均值滤波后的图像9*9: %0.5g      %0.5g        %0.5g \n',ENL_Aver9,index_AV9,psnr_AV9);fprintf('二次中值滤波后 9*9:  %0.5g      %0.5g        %0.5g \n',ENL_EME,index_EME,psnr_EME);fprintf('二次Lee滤波后  9*9:  %0.5g      %0.5g        %0.5g\n',ENL_ELE,index_ELE,psnr_ELE);fprintf('二次Kuan滤波后 9*9:  %0.5g      %0.5g        %0.5g\n',ENL_EKU,index_EKU,psnr_EKU);fprintf('二次均值滤波后 9*9:  %0.5g      %0.5g        %0.5g \n',ENL_EAV,index_EAV,psnr_EAV);

3 仿真结果


4 参考文献

[1]李宸鑫. "基于MATLAB三种滤波算法的图像去噪技术研究." 通讯世界 6(2018):2.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

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



【图像去噪】基于中值、均值、Lee、Kuan多种算法实现图像去噪含Matlab源码的评论 (共 条)

分享到微博请遵守国家法律