太原理工大学数字图像处理课设图像滤波研究.docx
- 文档编号:4187216
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:15
- 大小:971.67KB
太原理工大学数字图像处理课设图像滤波研究.docx
《太原理工大学数字图像处理课设图像滤波研究.docx》由会员分享,可在线阅读,更多相关《太原理工大学数字图像处理课设图像滤波研究.docx(15页珍藏版)》请在冰豆网上搜索。
太原理工大学数字图像处理课设图像滤波研究
课程名称:
数字图像处理
实验项目:
图像滤波研究
实验地点:
起点机房
专业班级:
通信1002学号:
学生姓名:
指导教师:
2013年6月14日
课题图像滤波研究
一、设计目的
1)提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方
2)熟悉掌握MATLAB语言,可以进行数字图像的应用的开发设计。
二、设计内容
刚获得的图像有很多的噪声,这是由平时的工作和环境引起的,图像增强是减弱噪音,增强对比度。
想得到比较干净清晰的图像并不是容易的事情。
为这个目标而为处理图像所涉及的操作是设计一个适合、匹配的滤波器和恰当的阈值。
这就是所谓的图像滤波研究。
本设计就是用图像平均、平滑滤波、中值滤波、理想低通滤波方法、巴特沃斯滤波方法五种方法来实现图像滤波处理。
三、总体方案设计
自选黑白图像,用加噪声的方法获得有噪图像。
整个设计要完成的基本功能大致如下:
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、用平滑滤波方法消除噪声并计算信噪比的改善
程序
I=imread('16.gif');
J=imnoise(I,'gaussian',0,0.03);
subplot(231),imshow(I);title('原始图像');
subplot(232),imshow(J);title('添加椒盐噪声的图像');
k1=filter2(fspecial('average',3),J);%进行3*3模板平滑滤波
k2=filter2(fspecial('average',5),J);%进行5*5模板平滑滤波
k3=filter2(fspecial('average',7),J);%进行7*7模板平滑滤波
k4=filter2(fspecial('average',9),J);%进行9*9模板平滑滤波
subplot(233),imshow(uint8(k1));title('3*3模板平滑滤波');
Q1=uint8(k1);
subplot(234),imshow(uint8(k2));title('5*5模板平滑滤波');
Q2=uint8(k2);
subplot(235),imshow(uint8(k3));title('7*7模板平滑滤波');
Q3=uint8(k2);
subplot(236),imshow(uint8(k4));title('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]
SNR=[Y1Y2Y3Y4]
结果:
3、用中值滤波方法消除噪声并计算信噪比的改善
I=imread('23.gif');
J=imnoise(I,'salt&pepper',0.02);%添加椒盐噪声图像
subplot(231),imshow(I);title('原图像');%构建两行三列图像组第一幅图显示原图像I
subplot(232),imshow(J);title('添加椒盐噪声图像')%第二幅图显示添加椒盐噪声图像
k1=medfilt2(J);%对含噪声信号图像数据进行中值滤波
k2=medfilt2(J,[55]);%对含噪声信号图像数据进行中值滤波
k3=medfilt2(J,[77]);%对含噪声信号图像数据进行中值滤波
k4=medfilt2(J,[99]);%对含噪声信号图像数据进行中值滤波
subplot(233),imshow(k1);title('3*3模板中值滤波')%第三幅图显示经过中值滤波的图像
subplot(234),imshow(k2);title('5*5模板中值滤波')%第四幅图显示经过中值滤波的图像
subplot(235),imshow(k3);title('7*7模板中值滤波')%第五幅图显示经过中值滤波的图像
subplot(236),imshow(k4);title('9*9模板中值滤波')%第六幅图显示经过中值滤波的图像
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]
SNR=[Y1Y2Y3Y4]
结果
4、用理想低通滤波方法消除噪声并计算信噪比的改善
程序
J=imread('eight.tif');
subplot(131);imshow(J);title('原始图像');%构建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
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);%点(i,j)到傅立叶变换中心的距离
ifd<=d0
h=1;
else
h=0;
end
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);%对g进行反FFT移动
g=uint8(real(ifft2(g)));%单精度变换g
subplot(133);imshow(g);%第三幅图显示g滤波处理后的图像
I2=double(g)-double(J);%经双精度处理含噪声图像减去原图像得噪声成份
A=std2(I2)^2%对噪声信号数据进行方差运算
B=std2(double(g))^2%对g图像信号数据做方差运算
snr1=10*log(B/A)%求图j的信噪比
结果
5、用巴特沃斯低通滤波器方法消除噪声并计算信噪比的改善
程序
I=imread('19.gif');
J=imnoise(I,'salt&pepper',0.05);%添加椒盐噪声
subplot(131);imshow(I);title('原始图像');
subplot(132);imshow(J);title('有椒盐噪声的图像');
J=double(J);%对原图像进行双精度运算
f=fft2(J);%对上图进行快速傅里叶变换
g=fftshift(f)%移动零频点到频谱中间
[M,N]=size(f);%分别返回f的行数到M中,列数到N中
n=3;%初始化n
d0=20;%初始化d0
n1=floor(M/2);%对M/2进行取整
n2=floor(N/2);%对N/2进行取整
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2)%点(i,j)到傅立叶变换中心的距离
h=1/(1+(d/d0)^(2*n));
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));%单精度变换傅里叶后的图像g的数据
subplot(133);imshow(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的使用,以及认识到以前没有注意到得细节问题。
实验过程中我认识到了到理论是实践的基础,只有理论知识学得扎实才可能在实际中遇到难题时提出合理恰当的解决方法,否则将会面临面对课题无从下手、没有思路的情况!
同时实践发挥理论知识的重要途径,正所谓学以致用,课设很好锻炼我的动手能力,独立解决问题的能力,对自己的学习很有帮助。
总之,本次实验收获很多,相信这对今后的学习有很大帮助。
七、参考文献
《数字图像处理》,机械工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太原 理工大学 数字图像 处理 图像 滤波 研究