• 大小: 923KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Matlab
  • 标签:

资源简介

7种图像降噪matlab实现(程序源码及结果图和说明书任务书)

资源截图

代码片段和文件信息

% 图像空间域处理
[Imap] = imread(‘pout.tif‘);
J1=imnoise(I‘gaussian‘00.02); 
% 叠加均值为0,方差为0.02的高斯噪声,可以用localvar代替
%J1=imnoise(I‘salt & pepper‘0.04); % 叠加密度为0.04的椒盐噪声
M4=[0 1 0; 1 0 1; 0 1 0];
M4=M4/4;                 % 4邻域平均滤波
I_filter1=filter2(M4J1);
figuresubplot(331);imshow(I);title(‘原图像‘);
subplot(332);imshow(J1);title(‘加噪声后图像‘);
subplot(333);imshow(I_filter1map); title(‘4邻域平均滤波后图像‘);
M8=[1 1 1; 1 0 1; 1 1 1];      % 8邻域平均滤波
M8=M8/8;
I_filter2=filter2(M8J1);
subplot(334);imshow(I_filter2map);title(‘8邻域平均滤波后图像‘);
K1 = medfilt2(J1[55]);     %中值滤波
subplot(335);imshow(K1);title(‘5中值滤波后图像‘);
 %低通滤波
J3=double(J1)/255;
h=[1/9 1/9 1/9;1/9 1/9 1/9;1/9 1/9 1/9];
K4=filter2(hJ3)
subplot(337);imshow(K4);title(‘低通滤波后图像‘);

%频域处理
%I=imread(‘pout.tif‘);
%figuresubplot(221);imshow(I);
%J1=imnoise(I‘salt & pepper‘);   % 叠加椒盐噪声
%subplot(222);imshow(J1);
f=double(J1);     % 数据类型转换,MATLAB不支持图像的无符号整型的计算
g=fft2(f);        % 傅立叶变换
g=fftshift(g);     % 转换数据矩阵
[MN]=size(g);
nn=2;           % 二阶巴特沃斯(Butterworth)低通滤波器
d0=50;
m=fix(M/2); n=fix(N/2);
for i=1:M
       for j=1:N
           d=sqrt((i-m)^2+(j-n)^2);
           h=1/(1+0.414*(d/d0)^(2*nn));  % 计算低通滤波器传递函数
           result(ij)=h*g(ij);
       end
end
result=ifftshift(result);
J2=ifft2(result);
J3=uint8(real(J2));
subplot(338);imshow(J3); title(‘二阶巴特沃斯低通滤波器后图像‘); % 显示滤波处理后的图像
K=zeros(size(J1));
for i=1:100
J1=imnoise(I‘gaussian‘0.002);

J2=im2double(J1);%将100幅加有噪声的图像进行相加并求其平均值显示求平均后图像。
K=K+J2;
end
K=K/100;
subplot(339);
imshow(K);
title(‘多幅图像平均法‘);

%自适应滤波(维纳滤波)
K=wiener2(J1[5 5])
subplot(336);
imshow(K);
title(‘自适应滤波‘);

%载入图片
load wgatlin;
figure
subplot(221);
image(X);
colormap(map);
title(‘f‘);
axis square;
%加噪
init=2055615866;
randn(‘seed‘init);
X1=X+20*randn(size(X));
subplot(222);
image(X1);
colormap(map);
title(‘加噪后‘);
axis square;
%用sym2波降噪
T=wpdec2(X11‘sym2‘);
thr=18.342;
NT=wpthcoef(T0‘s‘thr);
X2=wprcoef(NT1);
subplot(223);
image(X2);
colormap(map);
title(‘h‘)
axis square;
%用sym2波降噪二次降噪
T=wpdec2(X21‘sym2‘);
thr=18.342;
NT=wpthcoef(T0‘s‘thr);
X3=wprcoef(NT1);
subplot(224);
image(X3);
colormap(map);
title(‘用sym2波降噪二次降噪‘)
axis square;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      69004  2009-04-13 14:11  xubiniq\pout.tif

     文件       2496  2010-01-07 21:20  xubiniq\xubiniq.asv

     文件      14103  2010-01-07 21:23  xubiniq\xubiniq.docx

     文件       2520  2010-01-11 21:22  xubiniq\xubiniq.m

     文件     974336  2010-01-12 10:12  xubiniq\课程设计任务书xubiniq.doc

     目录          0  2010-01-12 10:14  xubiniq

----------- ---------  ---------- -----  ----

              1062459                    6


评论

共有 条评论

相关资源