计算机图像处理综合训练--二值数学形态学图像处理和噪声抑制程序设计

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

计算机图像处理综合训练--二值数学形态学图像处理和噪声抑制程序设计

***********************实践教学***********************兰州理工大学计算机与通信学院2009年秋季学期计算机图象处理综合训练题目:二值数学形态学图像处理和噪声抑制程序设计专业班级:姓名:学号:指导教师:成绩:\n目录摘要1前言2一、算法分析与描述:3二、详细设计过程:3三、调试过程中出现的问题及相应解决办法:3四、程序运行截图及其说明3图像噪声的抑制:71、均值滤波的方法是72、中值滤波的方法是7二值图像的腐蚀和膨胀开运算和闭运算11五、简单操作手册14总结15参考文献16致谢17附录I18部分源程序18\n摘要图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。本文利用matlab以实现图像的二值数学形态学图像处理和噪声抑制程序设计。噪声抑制针对高斯噪声和椒盐噪声,利用均值滤波和中值滤波对比处理:①均值滤波的方法是,对待处理的当前像素,选择一个模版,该模板为其近邻的若干像素组成,用模板中像素的均值来代替原来像素的方法,此处选取高斯模板来均值处理,即高斯去噪;②中值滤波的方法是,基于排序统计理论的一种能有效的线性信号处理技术。二值数学形态学图像处理实现图像的腐蚀和膨胀开运算和闭运算。①腐蚀可以粘连的目标物进行分离;②膨胀可以将断开的目标进行接续;③开运算:使用同一个模板对图像先腐蚀再进行膨胀的运算,以达到腐蚀目的,利用腐蚀可以粘连的目标物进行分离;④闭运算:使用同一个模板对图像先膨胀再进行膨腐蚀的运算,以达到膨胀目的,利用膨胀可以将断开的目标进行接续。【关键词】腐蚀膨胀开运算闭运算中值去噪均值去噪20\n前言数字图像处理技术是20世纪60年代开始发展起来的一门新兴学科。近40年来,由于大规模集成电路和计算机技术的迅速发展,离散数学的创立及理论上的不断突破,以及军事、医学和工业等方面应用需求的不断增长,数字图像处理的理论和方法发展迅速,图像处理技术不断完善,不仅在理论研究上取得了很大的进展,而且其应用领域也日益扩大。随着科技的进步以及人类需求的多样化发展,多学科的交叉、融合已成为现代科学发展的突出特色和重要途径。因此,数字图像处理学科正逐步向其他学科领域渗透,并为其他学科的研究和发展提供基础性支持。众所周知,人类正在实践的21世纪是一个信息时代。今天的社会,信息技术已经全面服务于社会生产和生活的方方面面,人们所做工作的相当一部分就是对信息的处理和传输,其中图像是人类获取信息、表达信息和传递信息的重要手段,是人类感知和认识世界的基础。有关研究表明,日常生活中人们所接受的各种信息中图像信息占总信息量的80%左右,从这一角度看,“百闻不如一见”正是图像处理重要性的形象表达和经验总结。因此,数字图像处理技术无论是对于21世纪的科学理论研究,还是工程应用都将具有重要的影响。国内外许多有识之士指出,从某种意义上讲,数字图像处理是实现智能计算机、智能机器人或多媒体通信系统的基础,未来计算机及智能机器人的发展与进步将在一定程度上依赖于机器视觉信息处理理论和技术的突破。虽然相对于经典学科,数字图像处理还很年轻,但日趋成熟的数字图像处理技术已经在很多方面得到深入而广泛的应用,一定程度上改变了人类的生活,给人们的日常生活、学习、工作带来极大的方便。例如,Internet上的视频广播、现代卫星或遥感照片的合成和处理、工业产品的自动检测、各种医学影像和图像的处理、远程医疗诊断及手术以及视频会议、视频电话等都采用了图像处理技术实现实时信息交互。如果说1964年美国喷气推进实验室首次处理了由太空船“徘徊者七号”发回的月球照片,拉开了数字图像处理技术进入普遍应用的序幕,那么CT的发明、应用及诺贝尔奖的获得,则使得数字图像处理技术大放异彩,并迅速进入了广泛应用阶段。目前,数字图像处理技术已在工程科学、计算机科学、信息科学、遥感、遥测、采矿、地质勘探、工业探伤、自动控制、机器人、军事、公安、生物学、医学、视频、多媒体、统计学甚至社会科学等领域得到了广泛应用,并显示出了更加诱人的前景,成为了包括计算机科学与技术、信息科学、航空航天和生物医学工程等在内的多学科的研究重点和热点。这些学科的研究成果又促使了图像处理技术向更高水平发展,数字图像处理技术正是在这种应用的迫切需要和自身的不断发展之中逐步完善的新兴学科。未来,图像处理技术的发展及应用与经济建设联系之紧密、影响之深远是不可估量的。  20\n一、算法分析与描述:以数字图像处理原理,综合运用MATLAB工具箱实现图像处理的GUI程序设计。实现以下功能:1、选取若干张目标图像文件,在计算机图象驱动程序中显示;2、对图像进行中值去噪观察其变化;3、对图像进行均值去噪观察其变化;4、对图像进行腐蚀膨胀观察其变化;5、对图像进行观开运算和闭运算观察其变化。二、详细设计过程:利用matlab数字图像处理,编写相关函数,具体过程如下:双击打开MATLAB7.0→File→New→GUI→单击,调整axes1大小→单击OK,调整按钮大小和颜色,修改名称→再建axes2→单击OK,调整按钮大小和颜色,修改名称→保存→View→M-fileEdit→针对每个功能按钮,输入对应的函数。三、调试过程中出现的问题及相应解决办法:本软件大多数功能实现是针对二值图像,如果输入图像为RGB图像如:腐蚀,膨胀将无法处理显示,请先进行RGB图像转二值图像操作后再进行其他处理四、程序运行截图及其说明20\n原始图像RGB图像转二值图像20\n灰度直方图:灰度级的函数,是对图像中灰度级分布的统计如图(横坐标表示灰度级,纵坐标表示图像中对应某灰度级所出现的像素个数。)图像噪声:1、高斯噪声:是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。20\n加高斯噪声加高斯噪声后对应直方图2、椒盐噪声:噪声的幅值基本相同,但是出现的位置是随机的。20\n加椒盐噪声加椒盐噪声后直方图图像噪声的抑制:1、均值滤波的方法是,对待处理的当前像素,选择一个模版,该模板为其近邻的若干像素组成,用模板中像素的均值来代替原来像素的方法,2、中值滤波的方法是,基于排序统计理论的一种能有效的线性信号处理技20\n术含高斯噪声的原图利用均值去噪和均值去噪的效果如下均值去噪20\n中值去噪通过对比说明含有高斯噪声的图像利用高斯去噪效果比均值去噪好2、含椒盐高斯噪声的原图利用高斯去噪和均值去噪的效果如下20\n均值去噪中值去噪通过对比说明含有椒盐噪声的图像利用高斯去噪效果比均值去噪差。20\n二值图像的腐蚀和膨胀开运算和闭运算1、腐蚀可以粘连的目标物进行分离。2、膨胀可以将断开的目标进行接续。3、开运算:使用同一个模板对图像先腐蚀再进行膨胀的运算,以达到腐蚀目的,利用腐蚀可以粘连的目标物进行分离。4、闭运算:使用同一个模板对图像先膨胀再进行膨腐蚀的运算,以达到膨胀目的,利用膨胀可以将断开的目标进行接续。选择图片腐蚀20\n开运算选择原图20\n膨胀20\n闭运算五、简单操作手册如果装有matlab软件直接双击导入相应函数之后,点击“回车”键程序,实现相应的功能。20\n总结通过这次基于MATLAB的图像处理的课程设计,熟悉和掌握了MATLAB程序设计方法、MATLABGUI程序设计、MATLAB图像处理工具箱,了解了图形用户界面的制作的设计原则和一般步骤:简单性、一致性、习常性、响应要迅速、连续等原则,学会了运用MATLAB工具箱对图像进行处理和分析。放大缩小图像时使用了两种方法,最近邻插值法比双线性插值法运行时间快;就效果而言,使用最邻近插值法确实出现了锯齿,但并不明显,而双线性插值则几乎没有什么改变。在做到加高斯噪声和椒盐噪声时,程序运行较慢,我认为这可能有两方面的原因:一是程序的问题,二是计算机的反应速度。通过不同的加噪方法,得到了不同的加噪效果;不同的滤波方法,得到的滤波效果图也不同。中值滤波较自适应滤波运行速度快。20\n参考文献[1]朱虹.计算机图象处理基础[M].科学出版社,2005[2]RC.Gonzalez,RE.Woods著,阮秋琦,阮宇智等译.计算机图象处理(第2版).北京:电子工业出版社,2003[3]K.R.Castleman.计算机图象处理.北京:电子工业出版社,2002[4]章毓晋.图像处理与分析-图像工程(上册),清华大学,2001[5]何斌等编著.VisualC++计算机图象处理.人民邮电出版社,2002[6]张宏林编著.VisualC++计算机图象模式识别技术及工程实践.人民邮电出版社,2003.[7]黄维通.VisualC++面向对象与可视化程序设计.清华大学出版社,2003[8]RC.Gonzalez,RE.Woods,SL.Eddins著,阮秋琦,阮宇智等译.计算机图象处理(MATLAB版).北京:电子工业出版社,200520\n致谢在此特别感谢我的指导老师柯老师,在柯老师悉心指导和无私帮助下我得以完成此次课程设计,并且对理论知识有了更深的理解,将理论知识应运于实践生活中有了初步的掌握。柯老师对待我们亦师亦友,他的细心,尽职尽责是我们有目共睹的,再次感谢课老师。同时也感谢我周围给与帮助的同学、朋友。20\n附录I部分源程序%以下程序示例说明了如何对图像eight进行腐蚀和膨胀操作,程序代码如下%创建结构元素SE=strel('rectangle',[4030]);I=imread('eight.tif');figure(1),imshow(I);%使用结构元素腐蚀图像I2=imerode(I,SE);figure(2),imshow(I2)%恢复矩形为原有大小,使用相同的结构元素对腐蚀过的图像进行膨胀。I3=imdilate(I2,SE);figure(3),imshow(I3)%以下是利用MATLAB实现二值图像开和闭运算的程序:clearall;bw0=imread('C:\image\hourse.bmp')figure(1),imshow(bw0)%变为阈值取为0.7的二值图像bw1=im2bw(bw0,0.7);figure(2),imshow(bw1);s=ones(3);bw2=imopen(bw1,s);figure(3),imshow(bw2);bw3=imclose(bw1,s);figure(4),imshow(bw3);s1=strel('disk',2);bw4=imopen(bw1,s1);figure(5),imshow(bw4);bw5=imclose(bw1,s1);figure(6),imshow(bw5)I=imread('C:\DocumentsandSettings\Administrator\桌面\winter.bmp');figure,imshow(I);I1=imnoise(I,'salt&pepper',0.06);%加噪K1=medfilt2(I,[3,3]);%使用3*3模板完成中值滤波K2=medfilt2(I,[5,5]);%使用5*5模板完成中值滤波K3=medfilt2(I,[7,7]);%使用7*7模板完成中值滤波20\nfigure,imshow(K1);figure,imshow(K2);figure,imshow(K3);%自适应滤波I=imread('pout.tif');J=adapthisteq(I);figure,imshow(I)figure,imshow(J)figure,imhist(J,64)%RGB图像转二值图像axes(handles.axes2);x=rgb2gray(handles.img);imshow(x);imwrite(x,'RGBimageisconvertedtograyscaleimages.jpg');title('RGBimageisconvertedtograyscaleimages')%直方图统计set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);x=imhist(handles.img);x1=x(1:10:256);horz=1:10:256;bar(horz,x1);%axis([02550150000]);set(handles.axes2,'xtick',0:50:255);%set(handles.axes2,'ytick',0:2000:15000);set(handles.axes2,'HandleVisibility','OFF');%加高斯噪声axes(handles.axes2);x=(handles.img);y=imnoise(x,'gaussian',0,0.05);imwrite(y,'PlusGaussiannoise.jpg');title('PlusGaussiannoise')%加椒盐噪声20\naxes(handles.axes2);x=(handles.img);y=imnoise(x,'salt&pepper',0.04);imshow(y);imwrite(y,'AddSalt&PepperNoise.jpg');title('AddSalt&PepperNoise')20
查看更多

相关文章

您可能关注的文档