《2023年数字图像处理课程设计.docx》由会员分享,可在线阅读,更多相关《2023年数字图像处理课程设计.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023年数字图像处理课程设计 1.前言 数字图像处理技术是20世纪60年代开始发展起来的一门新兴学科。近40年来,由于大规模集成电路和计算机技术的迅速发展,离散数学的创立及理论上的不断突破,以及军事、医学和工业等方面应用需求的不断增长,数字图像处理的理论和方法发展迅速,图像处理技术不断完善,不仅在理论研究上取得了很大的进展,而且其应用领域也日益扩大。随着科技的进步以及人类需求的多样化发展,多学科的交叉、融合已成为现代科学发展的突出特色和重要途径。因此,数字图像处理学科正逐步向其他学科领域渗透,并为其他学科的研究和发展提供基础性支持。 众所周知,人类正在实践的21世纪是一个信息时代。今天的社会
2、,信息技术已经全面服务于社会生产和生活的方方面面,人们所做工作的相当一部分就是对信息的处理和传输,其中图像是人类获取信息、表达信息和传递信息的重要手段,是人类感知和认识世界的基础。有关研究表明,日常生活中人们所接受的各种信息中图像信息占总信息量的80%左右,从这一角度看,“百闻不如一见”正是图像处理重要性的形象表达和经验总结。因此,数字图像处理技术无论是对于21世纪的科学理论研究,还是工程应用都将具有重要的影响。国内外许多有识之士指出,从某种意义上讲,数字图像处理是实现智能计算机、智能机器人或多媒体通信系统的基础,未来计算机及智能机器人的发展与进步将在一定程度上依赖于机器视觉信息处理理论和技术
3、的突破。虽然相对于经典学科,数字图像处理还很年轻,但日趋成熟的数字图像处理技术已经在很多方面得到深入而广泛的应用,一定程度上改变了人类的生活,给人们的日常生活、学习、工作带来极大的方便。例如,Internet上的视频广播、现代卫星或遥感照片的合成和处理、工业产品的自动检测、各种医学影像和图像的处理、远程医疗诊断及手术以及视频会议、视频电话等都采用了图像处理技术实现实时信息交互。 在信息化的今天,信息技术已经全面服务于社会的生产和生活的各个方面。信息是抽象的,它依附在各种媒体所表示的数据中,其中,图像信息是人类赖以获取信息的最重要来源之一。随着计算机技术的迅猛发展,图像和图形技术不断融合,产生了
4、各种图像处理、CAD软件。这些软件被广泛应用于计算机科学、1 工程学、统计学、物理学、信息科学、化学、生物学、医学乃至社会科学等领域,取得了令人瞩目的成就。 MATLAB自1984年由美国MathWorks公司推向市场以来,经历了二十多年的发展,现已成为国际公认的最优秀的科技应用软件。MATLAB既是一种直观高效的计算机语言,同时又是一个科学计算平台,它为数据分析和数据可视化算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。 正是由于MATLAB的各种优势和特点,以及其版本的不断更新
5、和功能的不断完善和强大,特别是它在图形处理上的优越性,本次课程设计就是利用MATLAB图像处理工具箱函数来进行图像增强。 2 2.设计的内容 本次课程设计我做的题目是“基于matlab图像增强的比较及其理论分析”,图像增强所包含的主要内容如下图: 灰度变换 均衡化点运算直方图修正法规定化 空间域局部统计法 图像平滑 局部运算图像锐化 图像增强高通滤波 频率域低通滤波同态滤波增强 假彩色增强 彩色增强伪彩色增强 彩色变换及应用 图像的代数运算 图像增强是采用一系列技术去改善图像的视觉效果,或将图像转换成一种更适合于人或机器进行分析和处理的形式。例如采用一系列技术有选择的突出某些感兴趣的信息,同时
6、抑制一些不需要的信息,提高图像的使用价值。鉴于以上理论知识,我先在网上下载一幅灰度图片,然后对其依次进行如下操作: 1.将该图片导入MATLAB工作平台; 2.利用MATLAB图像处理工具箱提供的模拟噪声生成函数imnoise,分别对该图片模拟加入高斯噪声和椒盐噪声; 3.利用MATLAB软件对加入噪声的该图片进行中值滤波和均值滤波处理; 4.记录处理后生成的图样,比较分析哪种方法增强效果最佳。 3 3.流程图 4 4.总体方案设计及原理 4.1验证图片是否为灰度图片 本次课设要求是对灰度图片进行处理,因此必须保证是灰度图片,在MATLAB中能实现对图片属性的查看。在MATLAB命令输入窗中,
7、调用函数info=imfinfo(FILENAME.FMT)。如查看我用的图片属性,在命令窗口输入info=imfinfo(植物大战僵尸.JPG),得到如下结果: info = Filename: 植物大战僵尸.JPG FileModDate: 22-Jun-2023 14:23:46 FileSize: 177051 Format: jpg FormatVersion: Width: 601 Height: 812 BitDepth: 8 ColorType: grayscale FormatSignature: NumberOfSamples: 1 CodingMethod: Huffma
8、n CodingProce: Sequential Comment: 在 ColorType: grayscale 属性行如此显示,则说明以刘亦菲.JPG命名的文件为灰度图像。 4.2导入图片到MATLAB工作平台 首先在MATLAB命令窗口中将其执行路径更改到要处理的灰度图片的路径,然后读取图像。函数imread可以从任何MATLAB支持的图像文件格式中,以任意位深度读取一幅图像。格式为: X,MAP=imread(FILENAME.FMT),其中: FILENAME-为需要读入的图像文件名称,FMT-为图像格式。 5 4.3对图片模拟加入高斯噪声和椒盐噪声 Matlab图像处理工具箱提供了
9、模拟噪声生成的函数imnoise,格式为: J=imnoise(I,type) J=imnoise(I,type,parameters) 其中: I为输入图像,J为叠加噪声后的图像。type为噪声类型,parameters为各噪声相应的参数。常用的噪声类型如下: J=imnoise(I,gauian,M,V) 均值M,方差为V的高斯噪声。M、V的缺省值为0、0.01; J=imnoise(I,salt & pepper,D) 噪声浓度为D的椒盐噪声。D的缺省值为0.05; J=imnoise(I,speckle,V) 方差为V的乘法性噪声。V的缺省值为0.04。 4.4显示原图片和加入噪声的图
10、片 本次用到的MATLAB的图像显示函数为imshow,格式为: imshow(I,n) 其中: I-为图片的代码,n-为显示灰度级为n的图像,n缺省为256。 4.5中值滤波处理 MATLAB图像处理工具箱中,提供了medfilt2和ordfilt2函数,用于实现中值滤波。 medfilt2格式为: B=medfilt2(A,m n)其中: A为输入图像,B为输出图像,m n为窗口大小,缺省为3 3。 ordfilt2的格式为: Y=ordfilt2(X,order,domain) 其中: X为输入图像,Y为输出图像,order为滤波器输出顺序值,domain为滤波窗口矩阵。 Y=ordfi
11、lt2(X,5,ones(3,3) %中值滤波Y=medfilt2(X,3 3) Y=ordfilt2(X,1,ones(3,3) %最小滤波 Y=ordfilt2(X,9,ones(3,3) %最大滤波 6 4.6均值滤波处理 MATLAB图像处理工具箱提供了filter2和fspecial函数用于对图像进行均值滤波。 (1) filter2用于对图像作卷积滤波,格式为: B=filter2(h,A,shape) 其中: A为输入图像,h为滤波算子,B为输出图像,shape为指定滤波计算范围: shape=full时,作边界补0 shape=same时,返回的图像B与输入的图像A大小相同 s
12、hape=valid时,补考虑边界补0,只计算有效输出部分。 (2) fspecial用于产生预定义的滤波算子,格式为: h=fspecial(type,para) 其中: 参数type指定算子类型,para为指定相应的参数。 type=average,表示为均值滤波器,para默认为3 4.7源代码 I=imread(植物大战僵尸.JPG); %读取图片 J1=imnoise(I,gauian,0,0.04); %加入高斯噪声,均值为0方差为0.04 J2=imnoise(I,salt & pepper,0.09); %加入椒盐噪声,噪声浓度为0.09 K1 = medfilt2(J1);
13、%对图片J1进行中值滤波 K2 = medfilt2(J2); %对图片J2进行中值滤波 K3 = filter2(fspecial(average,1),J1); %对图片J1进行均值滤波 K4 = filter2(fspecial(average,1),J2); %对图片J2进行均值滤波 Pause %程序执行暂停 figure(1) subplot(1,3,1) %子图方式显示 imshow(I) %显示图片I title(原始图片) %给图片加入标题 subplot(1,3,2) imshow(J1) title(高斯噪声) subplot(1,3,3) imshow(J2) titl
14、e(椒盐噪声) pause figure(2) subplot(2,2,1) imshow(I) title(原始图片) 7 subplot(2,2,2) imshow(J1) title(高斯噪声) subplot(2,2,3) imshow(K1) title(中值滤波) subplot(2,2,4) imshow(K3) title(均值滤波) pause figure(3) subplot(2,2,1) imshow(I) title(原始图片) subplot(2,2,2) imshow(J2) title(椒盐噪声) subplot(2,2,3) imshow(K2) title(
15、中值滤波) subplot(2,2,4) imshow(K4) title(均值滤波) 4.8结果显示 在MATLAB命令窗口中输入上述代码,按下回车键,就可以显示结果,如下面三幅图所示 10 5.结果分析 5.1均值滤波 均值滤波是最简单的均值滤波,均值简单的平滑了一幅图像的局部变化,在模糊了图像的同时减少了噪声,但在滤波过程中会丢失图像细节,如第5幅和第6幅图像所示,当该图像的参数shape=full时,作边界补0,因此后两幅看起来就是“空白”,几乎丢失了图像的全部细节。如果对图像干扰的某一噪声具有这样的特点:对图像中任意相邻两点的干扰是互不相关的。那么,若某一象素中含有噪声,而其它周围的
16、邻点却不一定有噪声。因此,和邻近各点相比,该点的灰度值将有显著的不同。 这样就可以从图像中取一子区域(称为邻域),其内含若干象素,要处理的象素位于邻域的中心。然后求出邻域中各象素(不包含要处理的象素点)的灰度平均值: g(m,n)=1f(m-1,n)+f(m+1,n)+f(m,n-1)+f(m,n+1) 4由于图像中相邻象素之间有很强的相关性,如果该点(m,n)无噪声,则其灰度应和邻域平均值基本相等,反之,两者有明显差别。 这是用邻域平均值代替该点的灰度值,可以在一定程度上消除噪声。 5.2中值滤波 中值滤波的应用非常广泛,因为对于很多种随机噪声,它都有良好的去噪能力,且在相同尺寸下比线性平滑
17、滤波引起的模糊更少。中值滤波尤其对单极或双极脉冲噪声非常有效。 最大值滤波对发现图像中的最亮点非常有用。同样,因为“胡椒”噪声是非常低的值,作为子图像区域的最大值选择结果,他可以通过这种滤波消除;最小值滤波对发现图像中的最暗点非常有用。同样,作为最小值操作的结果,它可以用来消除“盐”噪声。对于高斯和均匀随机分布这类噪声有最好的效果。 设有一序列: fi=f1,f2,.,fn 有n个值,在序列中任取m个连续值: fi-v,fi-v+1,.,fi-1,fi,fi+1,.,fi+v-1,fi+v 11 m为奇数 3、 5、7等: m=2v+1 将这m个值从小到大排序,取中间值作为滤波器输出,表示为:
18、 fi=medfi-v,.,fi,.,fi+v,i=1,2,.,n。 例如:fi为 .0 3 4 4 5 3 2 0 1 4 3 0 .取m为3时的中值滤波: .0 3 4 4 4 3 2 1 1 3 3 0 .取m为3时的平滑滤波: .0 7/3 11/3 4 11/3 3 2 4/3 5/3 7/3 .中值滤波不影响阶跃函数和斜波函数,周期小于m/2的脉冲将抑制,三角函数顶部变平。因此可以消除噪声 通过观察第2幅图可以看出,经medfilt2函数处理椒盐噪声后的图像几乎复原了原始图像,其效果比相同条件下的高斯噪声处理要好很多。综合分析上述各幅图像我们可以得出结论:在处理椒盐噪声的问题上,中
19、值滤波比均值滤波更优越;在处理高斯噪声的问题上,均值滤波比中值滤波效果稍微好一点。 12 6.心得体会 经过一个多星期的关于数字图像处理的课程设计,在老师和同学的帮助下,我基本上完成了这次任务,通过这次课程设计我收获颇多,概而言之,大约以下几点: 一、温故而知新。课程设计发端之始,思绪全无,举步维艰,对于理论知识学习不够扎实的我深感“书到用时方恨少”,于是想起圣人之言“温故而知新”,便重拾教材与实验手册,对知识系统而全面进行了梳理,遇到难处先是苦思冥想再向同学请教,终于熟练掌握了基本理论知识,而且领悟诸多平时学习难以理解掌握的较难知识,学会了如何思考的思维方式,找到了设计的灵感。 二、理论联系
20、实际。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,值得一提的是刚开始在滤波问题上我被卡住了,我以为是下载的MATLAB软件没有这个库函数,卸载后装上另一款,结果还是不能解决,请教了很多同学才发现要处理的图片根本不是灰度图片,重新换了张图片就成功了。这毕竟是第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 总的来说,这
21、次设计的关于图像处理的课程设计还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,更加强了团队合作的意识,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 参考文献 1 R.C.Gonzalez, R.E.Woods, S.L.Eddins,数字图像处理(MATLAB版)阮秋琦 等译, 北京:电子工业出版社,2023.10.2孙祥 徐流美 吴清编著,MATLAB7.0基础教程 北京:清华大学出版社,2023.5.3 吴国平主编,数字图像处理原理 北京:电子工业出版社,2023.9 4 王慧琴主编,数字图像处理 北京:高等教育出版社,2023.5 5 霍宏涛主编,数字图像处理 北京:清华大学出版社,2023.9 数字图像处理课程设计 数字图像处理课程设计 数字图像处理课程设计课程教学大纲 DSP数字图像取反课程设计 数字图像处理 数字图像处理 数字图像处理综合设计 数字图像处理课程教学大纲 数字图像处理实验教案 学习数字图像处理心得