太原理工大学数字图像处理课设图像滤波研究Word文档下载推荐.docx
《太原理工大学数字图像处理课设图像滤波研究Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《太原理工大学数字图像处理课设图像滤波研究Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
三、总体方案设计
自选黑白图像,用加噪声的方法获得有噪图像。
整个设计要完成的基本功能大致如下:
1、用图像平均的方法消除噪声并计算信噪比的改善。
(参考P.68)
2、用平滑滤波方法消除噪声并计算信噪比的改善(参考P.71)。
3、用中值滤波方法消除噪声并计算信噪比的改善(参考P.73)。
4、用理想低通滤波方法消除噪声并计算信噪比的改善(参考P.78)。
5、用巴特沃斯低通滤波方法消除噪声并计算信噪比的改善(参考P.80)。
更换不同特性的图像和噪声重复以上滤波方法,观察并分析这些算法的应用场合。
在该设计中,所采用的噪声类型主要有:
高斯噪声,椒盐噪声。
四、各个功能模块的主要实现程序以及测试和调试
1、用图像平均的方法消除噪声并计算信噪比的改善
程序
I=imread('
9.gif'
);
x=1;
[M,N]=size(I);
II1=zeros(M,N);
fori=1:
16
II(:
:
i)=imnoise(I,'
gaussian'
0,0.01);
II1=II1+double(II(:
i));
ifor(or(i==1,i==4),or(i==8,i==16));
subplot(2,2,x);
imshow(uint8(II1/i));
title(num2str(x));
x=x+1;
end
end
I2=double(II1/1)-double(I);
%添加噪声后图与原图像想减得噪声
I3=double(II1/2)-double(I);
I4=double(II1/3)-double(I);
I5=double(II1/4)-double(I);
A=std2(I2/255)^2;
%对I2图像进行方差运算
B=std2(I3/255)^2;
%对I3图像进行方差运算
C=std2(I4/255)^2;
%对I4图像进行方差运算
D=std2(I5/255)^2;
%对I5图像进行方差运算
E=std2(II1/255)^2;
%对噪声进行方差运算
Y1=10*log(E/A);
%计算图像信噪比
Y2=10*log(E/B);
Y3=10*log(E/C);
Y4=10*log(E/D);
X=[ABCD]
SNR=[Y1Y2Y3Y4]
结果:
相应信噪比
2、用平滑滤波方法消除噪声并计算信噪比的改善
16.gif'
J=imnoise(I,'
0,0.03);
subplot(231),imshow(I);
title('
原始图像'
subplot(232),imshow(J);
添加椒盐噪声的图像'
k1=filter2(fspecial('
average'
3),J);
%进行3*3模板平滑滤波
k2=filter2(fspecial('
5),J);
%进行5*5模板平滑滤波
k3=filter2(fspecial('
7),J);
%进行7*7模板平滑滤波
k4=filter2(fspecial('
9),J);
%进行9*9模板平滑滤波
subplot(233),imshow(uint8(k1));
3*3模板平滑滤波'
Q1=uint8(k1);
subplot(234),imshow(uint8(k2));
5*5模板平滑滤波'
Q2=uint8(k2);
subplot(235),imshow(uint8(k3));
7*7模板平滑滤波'
Q3=uint8(k2);
subplot(236),imshow(uint8(k4));
9*9模板平滑滤波'
Q4=uint8(k2);
%计算信噪比
I2=double(J)-double(I);
%通过添加噪声的图像与原图像想见运算的到噪声
A=std2(I2)^2%对噪声信号数据进行方差运算
B=std2(double(k1))^2;
%对经过双精度变换的图像k1数据进行方差运算
C=std2(double(k2))^2;
%对经过双精度变换的图像k2数据进行方差运算
D=std2(double(k3))^2;
%对经过双精度变换的图像k3数据进行方差运算
E=std2(double(k4))^2;
%对经过双精度变换的图像k4数据进行方差运算
Y1=10*log(B/A);
%计算k1图信噪比
Y2=10*log(C/A);
%计算k2图信噪比
Y3=10*log(D/A);
%计算k3图信噪比
Y4=10*log(E/A);
%计算k4图信噪比
X=[BCDE]
3、用中值滤波方法消除噪声并计算信噪比的改善
23.gif'
salt&
pepper'
0.02);
%添加椒盐噪声图像
原图像'
%构建两行三列图像组第一幅图显示原图像I
添加椒盐噪声图像'
)%第二幅图显示添加椒盐噪声图像
k1=medfilt2(J);
%对含噪声信号图像数据进行中值滤波
k2=medfilt2(J,[55]);
k3=medfilt2(J,[77]);
k4=medfilt2(J,[99]);
subplot(233),imshow(k1);
3*3模板中值滤波'
)%第三幅图显示经过中值滤波的图像
subplot(234),imshow(k2);
5*5模板中值滤波'
)%第四幅图显示经过中值滤波的图像
subplot(235),imshow(k3);
7*7模板中值滤波'
)%第五幅图显示经过中值滤波的图像
subplot(236),imshow(k4);
9*9模板中值滤波'
)%第六幅图显示经过中值滤波的图像
%经双精度处理含噪声图像减去原图像得噪声成份
%对k1图像信号数据做方差运算
%对k2图像信号数据做方差运算
%对k3图像信号数据做方差运算
%对k4图像信号数据做方差运算
%求k1图的信噪比
%求k2图的信噪比
%求k3图的信噪比
%求k4图的信噪比
结果
4、用理想低通滤波方法消除噪声并计算信噪比的改善
J=imread('
eight.tif'
subplot(131);
imshow(J);
%构建3行3列图像组,显示原图像
J=double(J);
%对原图像进行双精度运算
f=fft2(J);
%对上图进行快速傅里叶变换
g=fftshift(f);
%移动零频点到频谱中间
subplot(132);
imshow(log(abs(g)),[]),color(jet(64));
[M,N]=size(f);
%分别返回f的行数到M中,列数到N中
n1=floor(M/2);
%对M/2进行取整
n2=floor(N/2);
%对N/2进行取整
d0=5;
%初始化d0
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
%点(i,j)到傅立叶变换中心的距离
ifd<
=d0
h=1;
else
h=0;
g(i,j)=h*g(i,j);
g=ifftshift(g);
%对g进行反FFT移动
g=uint8(real(ifft2(g)));
%单精度变换g
subplot(133);
imshow(g);
%第三幅图显示g滤波处理后的图像
I2=double(g)-double(J);
B=std2(double(g))^2%对g图像信号数据做方差运算
snr1=10*log(B/A)%求图j的信噪比
5、用巴特沃斯低通滤波器方法消除噪声并计算信噪比的改善
19.gif'
0.05);
%添加椒盐噪声
imshow(I);
有椒盐噪声的图像'
g=fftshift(f)%移动零频点到频谱中间
n=3;
%初始化n
d0=20;
d=sqrt((i-n1)^2+(j-n2)^2)%点(i,j)到傅立叶变换中心的距离
h=1/(1+(d/d0)^(2*n));
g(i,j)=h*g(i,j);
%单精度变换傅里叶后的图像g的数据
I2=J-double(I);
%计算噪声成份
A=std2(I2/255)^2%对噪声信号数据求方差
B=(std2(double(g)/255))^2%对含噪图像求方差
snr=10*log(B/A)%对图求信噪比
6、更换不同特性的图像和噪声重复以上滤波方法,观察并分析这些算法的应用场合,用图片50.bmp进行调试。
得图如下:
(1)图像平均
(2)平滑滤波
(3)中值滤波
(4)理想低通滤波
(5)巴特沃斯低通滤波
五、实验分析
1.平均图像滤波时,随着平均图像数量的增加,在各个位置上的像素的噪声
影响会逐步减少;
2.线性平滑滤波处理减少了图像灰度的“尖锐”变化;
中值滤波不像平滑滤
波那样使图像边界模糊,它在衰减噪声的同时保持了图像细节的清晰;
3.理想滤波器有比较陡峭的截断频率,在处理过程中产生比较严重的模糊和
振铃现象;
Butterworth低通滤波在高低频率间的过渡比较平滑,其产生
的输出振铃现象不明显。
六、实验心得
通过本次课程设计的学习,我了解了图像噪声产生的原因及图像滤波去噪
的原理和设计过程,熟悉和掌握了MATLAB的使用,以及认识到以前没有注意到得细节问题。
实验过程中我认识到了到理论是实践的基础,只有理论知识学得扎实才可能在实际中遇到难题时提出合理恰当的解决方法,否则将会面临面对课题无从下手、没有思路的情况!
同时实践发挥理论知识的重要途径,正所谓学以致用,课设很好锻炼我的动手能力,独立解决问题的能力,对自己的学习很有帮助。
总之,本次实验收获很多,相信这对今后的学习有很大帮助。
七、参考文献
《数字图像处理》,机械工业出版社