数字图像处理课程设计.docx
《数字图像处理课程设计.docx》由会员分享,可在线阅读,更多相关《数字图像处理课程设计.docx(13页珍藏版)》请在冰点文库上搜索。
数字图像处理课程设计
一、目的与要求————————————————————————————2
二、课程设计选题的背景意义——————————————————————3
三、设计的主要内容及基本原理—————————————————————4
四、总体方案设计———————————————————————————5
五、测试和调试————————————————————————————7
六、总结与体会————————————————————————————16
七、参考文献—————————————————————————————17
一、目的与要求
1、课程设计目的
(1)、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理和方法。
(2)、熟悉掌握一门计算机语言,可以进行数字图像应用处理的开发设计。
2、课程设计任务
(1)、对加有高斯、椒盐、和乘性噪声的图像进行;
(2)、采用不同的滤波方法处理上述图像,比较处理结果;
(3)、分析对于所加噪声哪种方法能够获得较好的处理效果;
(4)、概括介绍图像平滑应用领域;
注:
图像要选择有代表性,分别对高频成分丰富、中低频成分进行分析
3、课程设计要求
(1)、理解各种图像处理方法确切意义;
(2)、独立进行方案的制定,系统结构要合理。
(3)、程序开发时,则必须清楚主要实现函数的目的和作用。
如果使用matlab来进行开发,则必须理解每个函数的具体意义和适用范围。
(4)、通过多幅不同形式的图像来检测该系统的稳定性和正确性。
二、课程设计选题的背景意义
数字图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
最早出现于20世纪50年代,作为一门学科大约形成于20世纪60年代初期。
发展到现在其应用范围十分广泛,涉及航天和航空技术、生物医学工程、通信工程、视频和多媒体等。
作为图像处理的一个重要分支,图像平滑是指用于突出图像的宽大区域、低频成分、主干部分或抑制图像噪声和干扰高频成分,使图像亮度平缓渐变,减小突变梯度,改善图像质量的图像处理方法。
主要包括:
领域平均法、中值滤波法、理想地低通滤波器法等等,因噪声的类型而选择不同的滤波法。
图像平滑因其独特的功能而广泛应用于图像显示、传输、动画制作和媒体合成等多个领域。
对于该课题的设计,能加强对图像处理的认识,理解噪声对图像干扰的原因,以及去除噪声的方法,同时增强系统设计提高分析问题与解决问题的能力。
设计过程中采用matlab编写程序及结果运行,有效地提高软件处理数字图像的方法与认识水平。
三、设计的主要内容及基本原理
1、主要内容
该系统主要是完成图像平滑的算法及实现,具体来说是是对图像的噪声处理。
图像在传输、存储过程中不可避免地会受到各种噪声的干扰,设计出该系统可以对图像进行噪声分析、各种噪声处理以及结果比较,实现图像的平滑运算,改善图像质量,也可以模糊图像,使图像看起来柔和自然,最终达到良好的视觉效果。
2、基本原理
本系统采用matlab软件进行编程设计,在matlab中可直接调用多种函数对图像处理。
首先是调用加噪函数对原图像的加入各种噪声,然后设计并采用多种方法对有噪声的图像进行去噪处理,分为空域法和频域法,主要有领域平均法、中值滤波法和低通滤波器法,通过比较多幅图像的处理结果,选择对不同噪声种类的最佳处理方法。
处理过程中调用的matlab函数有imnoise(加噪声函数)、imfilter(均值滤波函数)、medifilt2(中值滤波函数)和自己构建的低通滤波器等等。
3、matlab简介
matlab是美国Mathworks公司1983年首次推出的一套高性能的数值分析和计算软件,MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。
在数字图像处理领域,有很多汇编语言,也有多种软件工具,但matlab,具有很好的优势:
丰富的函数工具箱,能方便的调用各种函数;强大的矩阵处理能力,快速计算大量复杂的数据,因而受到广大工作人员的青睐。
本系统采用的软件即为matalb仿真处理。
四、总体方案设计
1、系统设计框图
原图→加噪声→噪声分析
↓
系统评测←结果比较←平滑处理
2、模块功能介绍
如上系统框图所示,该系统共分为五个模块(原图模块不算),开发工具选用matlab,下面就各个模块功能作简要介绍:
(1)、加噪声模块
对图像进行加噪声处理,采用imnoise函数,其语法为:
J=imnoise(I,type)
J=imnoise(I,type,parameters)
功能:
返回原图像I添加典型噪声的图像J,参数type和parameters用于确定噪声的相应的参数。
(2)、噪声分析
噪声种类共有三种:
type=’gaussian’时,为高斯噪声;
type=’salt&pepper’时,为椒盐噪声;
type=’speckle’时,为乘法噪声;
(3)、平滑处理
平滑处理分为空域法和频域法,空域法可采用函数imfilter、medfilt2,其语法分别为:
J=imfilter(I,H);
J=medfilt2(I,A);
功能说明与上述噪声函数类似,这里不再一一累述。
频域法,主要只频域低通滤波器,函数模型为:
G(u,v)=H(u,v)F(u,v)
常用的低通滤波器有4种:
理想低通滤波器,巴特沃斯低通滤波器,指数型低通滤波器,梯形低通滤波器
(4)、结果比较
通过对多幅图像采用不同的处理方法,比较各种方法对不同图像的处理效果,选出应对各种噪声最好的处理方法。
(5)、系统评测
对整个系统作出整体性测验,验证系统的可靠性与稳定性,对不足之处加以改进以改善系统。
五、测试和调试
上图是本系统所采用的原始图片,该图像细节处不多,所对应的中低频较多,具有很好的试验价值。
1、分别对两幅图添加不同种类噪声,编写matlab程序。
I=imread('');
I1=imnoise(I,'gaussian');
I2=imnoise(I,'salt&pepper',;
I3=imnoise(I,'speckle');
imshow(I);
title('tatanic')
figure,imshow(I1);
title('tatanic-高斯噪声')
figure,imshow(I2);
title('tatanic-椒盐噪声')
figure,imshow(I3);
title('tatanic-乘性噪声')
结果如下所示:
2、平滑滤波
平滑滤波分为空域法和频域法。
空域法主要介绍领域平均法和中值滤波法,频域法主要介绍低通滤波器法。
(1)领域平均法
这种方法的基本思想是用几个像素的灰度的平均值来代替每个像素的灰度。
假定一幅N*N个像素的图像
,处理后得到一幅图像
。
由下式决定:
式中,R为预先确定的领域(不包括(x,y));m为领域R中的像素点数;
为输出图像,
为输入图像。
对混有噪声的图像进行领域滤波处理,matlab编程程序代码如下:
模板1H1=
I=imread('');
I1=imnoise(I,'gaussian');
I2=imnoise(I,'salt&pepper',;
I3=imnoise(I,'speckle');
H1=ones(3,3)/9;
J1=imfilter(I1,H1);
J2=imfilter(I2,H1);
J3=imfilter(I3,H1);
figure,imshow(J1);
title('高斯噪声—模板1均值滤波')
figure,imshow(J2);
title('椒盐噪声—模板1均值滤波')
figure,imshow(J3);
title('乘性噪声—模板1均值滤波')
模板2H2=
I=imread('');
I1=imnoise(I,'gaussian');
I2=imnoise(I,'salt&pepper',;
I3=imnoise(I,'speckle');
H2=[111;121;111]/10;
J1=imfilter(I1,H2);
J2=imfilter(I2,H2);
J3=imfilter(I3,H2);
figure,imshow(J1);
title('高斯噪声—模板2均值滤波')
figure,imshow(J2);
title('椒盐噪声—模板2均值滤波')
figure,imshow(J3);
title('乘性噪声—模板2均值滤波')
程序运行结果分别如下图:
(2)中值滤波法
中值滤波实际上就是用一个含有奇数个像素的窗口在图像中滑动,将窗口中心点的灰度值用窗口内各点的灰度中值代替。
设有一个一维序列
,
,…,
,窗口长度为
(
为奇数),在某个位置上,窗口内的
个像素为
,
,…,
…,
则
=Med{
…,
}
分别对两幅图添加各种噪声并作中值滤波处理,matlab程序如下:
(a):
3*3中值滤波模板
I=imread('');
I1=imnoise(I,'gaussian');
I2=imnoise(I,'salt&pepper',;
I3=imnoise(I,'speckle');
J1=medfilt2(I1,[3,3]);
J2=medfilt2(I2,[3,3]);
J3=medfilt2(I3,[3,3]);
figure,imshow(J1);
title('tatanic高斯噪声—3*3中值滤波')
figure,imshow(J2);
title('tatanic椒盐噪声—3*3中值滤波')
figure,imshow(J3);
title('tatanic乘性噪声—3*3中值滤波')
(b):
5*5中值滤波模板
I=imread('');
I1=imnoise(I,'gaussian');
I2=imnoise(I,'salt&pepper',;
I3=imnoise(I,'speckle');
J1=medfilt2(I1,[5,5]);
J2=medfilt2(I2,[5,5]);
J3=medfilt2(I3,[5,5]);
figure,imshow(J1);
title('tatanic高斯噪声—5*5中值滤波')
figure,imshow(J2);
title('tatanic椒盐噪声—5*5中值滤波')
figure,imshow(J3);
title('tatanic乘性噪声—5*5中值滤波')
程序运行结果如下:
3、频域滤波法
图像从空间域变换到频域后,其低频分量对应图像中灰度值变化比较缓慢的区域,而高频分量则显示了图像中物体的边缘和随机噪声。
低通滤波器的功能是通过滤波器函数H减弱和抑制高频分量。
因此,低通滤波器和空域中的平滑滤波器一样可以消除图像中的随机噪声,减弱边缘效应,起到平滑图像的作用。
常用的低通滤波器包括理想低通滤波器、巴特沃斯低通滤波器、指数低通滤波器和梯形低通滤波器等多种类型,下面介绍几种常用的低通滤波器:
(1)、巴特沃斯低通滤波器
式中,
是截止频率;n为滤波器的阶次。
(2)、指数低通滤波器
(3)、梯形低通滤波器
编写matlab频域低通滤波程序:
[f1,f2]=freqspace(25,'meshgrid');
Hd=zeros(25,25);
d=sqrt(f1.^2+f2.^2)<;
Hd(d)=1;
h=fsamp2(Hd);
figure,freqz2(h,[64,64]);
title('二维低通滤波器')
I=imread('');
I1=imnoise(I,'gaussian');
I2=imnoise(I,'salt&pepper',;
I3=imnoise(I,'speckle');
J1=imfilter(I1,h,'replicate');
J2=imfilter(I2,h,'replicate');
J3=imfilter(I3,h,'replicate');
figure,imshow(J1);
title('高斯—低通滤波')
figure,imshow(J2);
title('椒盐—低通滤波')
figure,imshow(J3);
title('乘性—低通滤波')
程序运行结果如下:
3、结果比较
对比上述各幅图片,不同噪声对应不同的平滑处理方法,可以看出不同滤波方法对不同噪声的优劣:
均值滤波法——对乘性噪声具有很好的滤波效果
中值滤波法——对椒盐噪声具有很好的滤波效果
频域低通滤波法——对乘性噪声具有很好的滤波效果
此外,同种滤波方法不同模板也具有优劣之分。
均值滤波法中,模板2效果较好于模板1,;中值滤波法中,3*3模板较好与5*5模板。
四、系统评测
本系统对图像平滑处理分为空间域和频率域,空间域采用均值滤波和中值滤波两种方法,又各采用两种模板滤波,主要是为了应对不同噪声而设计的,通过比较可以发现均值滤波法对乘性噪声具有很好的滤波效果,中值滤波法对椒盐噪声具有很好的滤波效果,频域低通滤波法对乘性噪声具有很好的滤波效果。
由于本设计只选用了两个模板,所以滤波范围适用不是很广,对于一些噪声仍不能有很好的滤波效果,尤其在频域滤波中只设计了一种滤波方法,所以限制了在频率方面的应用。
但对于一般的常见噪声可以滤波,对图像精度要求不高的系统仍可采用。
六、总结与体会
这次为期一周的课程设计,在查阅众多资料以及和各位同学与老师的帮助下,最终顺利完成。
对于课题所要求的任务,我所设计的系统基本上符合测试要求,在此过程中也有不少体会与收获。
我所设计的课题是图像平滑处理,选用的软件处理工具是matlab,在图书馆也借阅了相关图书,以便于自己能熟练运用软件操作。
对于其中关键的程序编写,则大量参考实验指导书和图书,增加了几种模板以应对不同噪声类型。
在选取图片时,选择了一张中低频较为丰富的图片,和噪声具有很好的区分性,具有很好的实验效果。
对于这次课程设计的收获有以下几点:
1、加深了对噪声的认识。
图像处理首先要认清噪声的类型以便选择合适处理方法,所以第一步噪声分类很重要。
噪声主流分三类,各种噪声具有不同的特点,对应于时域和频域的特点也各不相同,这也是处理各种噪声的选择依据。
2、程序编写。
程序编写是整个设计系统的关键之处,系统对图像平滑处理就是用软件中程序来处理的。
自己独立完成一个完整的程序设计很难,设计过程中借鉴了各种图书上的程序,用他们的设计思想结合本课题要求而重新编写出新的符合本课题的程序,经过多次调试直至出现期望的结果。
3、方法的选取。
对于一个同样的问题,有多种可以选择的方法,但每个方法各有优劣之分。
对于本课题,事先不能预测各种方法的好坏,必须多种方法采用,最后比较结果的好坏来选择适应一个问题的方法。
七、参考文献
1、《数字图像处理》曹茂永北京大学出版社.
2、《精通MATLAB图像处理》张强、王正林电子工业出版社.
3、《MATLAB数字图像处理》张德丰机械工业出版社.
4、《在图像处理中的应用》罗军辉、冯平、哈力旦.•A.
机械工业出版社
参考网址:
1、、指导老师:
张明艳——安徽工程大学电科教研室