资源简介
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
- 上一篇:MATLAB神经网络编程
- 下一篇:经典的music算法的程序仿真
评论
共有 条评论