1、中北大学2014届毕业设计说明书毕业设计说明书口腔图像特征提取与算法研究学生姓名学号1005084145学院信息与通信工程专业生物医学工程指导教师2014年6月中北大学2014届毕业设计说明书摘要随着电子信息技术的发展,传统的密码、信物安全系统已经不能满足社会的需求,因此基于生物特征的身份验证系统得到了发展和应用。生物特征的唯一性和永久性,更好的作为身份识别的依据。口腔腭皱在众多的生物特征里有它的独特优势,口腔腭皱识别技术已经成为重要的研究领域,应用前景也很开阔。本文对口腔数字图像识别系统的原理和基本过程进行了较为深入的分析与研究。系统阐述了建立口腔识别系统的必要性和意义,提出了用MATLAB
2、工具来解决口腔识别技术的处理方法,即通过MATLAB对口腔数据库进行图象提取、图像降噪、图像增强、边缘检测以及特征提取。简单介绍了邻域平均法图像降噪的方法,图像增强的几种常见方法离散沃尔什变换、灰度变换、直方图变换、图像平滑与锐化,全局阈值图像分割的方法,ROBERTS算子图像边缘检测的方法。充分利用MATLAB工具的优点语法筒单、易学、方便;有强大的运算及绘图能力;然后提取可靠特征点信息,利用GUI界面实现人员的身份识别。实验表明,用MATLAB实现的这种方法,既简单快速,又具有较高的准确率。关键词口腔识别技术,MATLAB,数字图像处理中北大学2014届毕业设计说明书ABSTRACTWIT
3、HTHEDEVELOPMENTOFELECTRONICINFORMATIONTECHNOLOGY,THETRADITIONALPASSWORDS,TOKENSALREADYCANNOTSATISFYTHENEEDSOFSOCIALSECURITYSYSTEM,SOTHEAUTHENTICATIONSYSTEMBASEDONBIOLOGICALCHARACTERISTICSOBTAINEDTHEDEVELOPMENTANDAPPLICATIONTHEUNIQUENESSOFBIOLOGICALCHARACTERISTICSANDPERMANENT,BETTERASTHEBASISOFIDENTI
4、FICATIONORALCAVITYJAWWRINKLEINNUMEROUSBIOLOGICALCHARACTERISTICSHASITSUNIQUEADVANTAGES,INTHEORALCAVITYJAWWRINKLEIDENTIFICATIONTECHNOLOGYHASBECOMETHEIMPORTANTFIELDOFSTUDY,THEAPPLICATIONPROSPECTISVERYBROADINTHISPAPER,THEORALPRINCIPLEANDBASICPROCESSOFDIGITALIMAGERECOGNITIONSYSTEMHASCARRIEDONTHETHOROUGHA
5、NALYSISANDRESEARCHSYSTEM,THISPAPEREXPOUNDSTHENECESSITYOFESTABLISHINGORALIDENTIFICATIONSYSTEMANDTHESIGNIFICANCE,PROPOSEDTHEMATLABTOOLSTOSOLVETHEPROCESSINGMETHODOFORALIDENTIFICATIONTECHNOLOGY,THROUGHTHEMATLABIMAGEDATABASEMODELOFORALEXTRACTION,IMAGENOISEREDUCTION,IMAGEENHANCEMENT,EDGEDETECTIONANDFEATUR
6、EEXTRACTIONSIMPLEINTRODUCEDTHENEIGHBORHOODAVERAGEMETHODOFIMAGEDENOISINGMETHOD,SEVERALCOMMONMETHODSOFIMAGEENHANCEMENTDISCRETEWALSHTRANSFORM,GRAYLEVELTRANSFORMATION,HISTOGRAMTRANSFORMATION,IMAGESMOOTHINGANDSHARPENING,GLOBALTHRESHOLDIMAGESEGMENTATIONMETHODS,ROBERTSOPERATORMETHODOFIMAGEEDGEDETECTIONMAKE
7、FULLUSEOFTHEADVANTAGESOFMATLABTOOLSYNTAXTUBESHEET,EASYANDCONVENIENTWITHPOWERFULCOMPUTINGANDDRAWINGABILITYRELIABLEANDTHENEXTRACTTHEFEATUREPOINTINFORMATION,USINGGUIINTERFACEIMPLEMENTATIONPERSONNELIDENTIFICATIONEXPERIMENTSSHOWTHATTHEMATLAB,THISAPPROACHISSIMPLE,FASTANDHASHIGHACCURACYKEYWORDSORALRECOGNIT
8、IONTECHNOLOGY,MATLAB,DIGITALIMAGEPROCESS中北大学2014届毕业设计说明书第I页共页I目录1绪论111口腔上腭数字图像识别技术研究背景及研究意义112口腔上腭特征识别技术1121口腔上腭识别技术概述1122口腔数字图像识别系统的组成213MATLAB软件介绍314设计内容和要求32口腔数字信息识别系统的识别原理421口腔上腭特征识别系统的基本原理422口腔数字图像识别系统的主要步骤4221口腔图像预处理5222口腔数字图像分类5223口腔数字图像系统的识别523口腔数字图像的识别原理6231概述6232口腔数字图像的基本特征624口腔数字图像识别系统算法的
9、性能指标103图像预处理1131图像降噪11311图像噪声的概念11312图像噪声的分类11313邻域平均法图像去噪1232图像增强15321图像增强概述15322图像增强的分类及方法16323常用的几种图像增强方法1633图像边缘检测25331边缘检测概述25中北大学2014届毕业设计说明书第页共页332ROBERTS算子边缘检测2534特征提取26341特征提取概述26342全局阈值分割274系统识别设计305总结34附录35参考文献51致谢52中北大学2014届毕业设计说明书第1页共52页1绪论11口腔上腭数字图像识别技术研究背景及研究意义口腔信息身份识别技术是一种通过计算机软件实现身份
10、识别的手段,是在腭皱数字图像识别技术的基础上,应用于一些特殊人员(军人、武警等人员)在指纹、表皮信息丢失后的身份鉴定技术。由于现代战争及社会的发展,军人、武警等人员会被安排或者执行一些特殊任务,为了不被犯罪分子识别他们的身份,他们的指纹或者表皮信息会在一定的程度上进行破坏或者去除。等任务完成或者需要安排其他秘密活动,需要从新确认其身份时,就需要一除指纹或者表皮信息以外的一种身份鉴别技术。该技术在一定程度上即满足了辨别身份的作用也对于这类特殊人群有一定的保护作用。口腔数字图像同指纹图像一样具有其两个重要特征一是没有任何两个人的上腭纹线状态是一致的;二是口腔上腭纹线的形态终生不变的1。以上两个特征
11、说明,任何两个人不可能有相同的上腭纹路。而人的上腭纹路是持续不变的,即上腭数字图像的唯一性和不变性。因此,用该技术用于进行特殊人员(军人、武警等人员)在指纹、表皮信息丢失后的身份鉴定具有一定的可行性。12口腔上腭特征识别技术121口腔上腭识别技术概述传统的身份鉴别方法主要包括基于持有物的方法如护照、驾驶证、身份证等和基于知识的方法如密码,个人身份识别码等。上述方法从本质上说都是验证人所持有的某种“物”,而不是验证其本人。只要“物”的有效性得到确认,则持有该“物”的人的身份也就随之得到确认。这种以“物”认人的方法的缺陷是显而易见的合法的人如果遗失或者遗忘验证其身份的“物”,则合法人本身得不到合法
12、的验证;各种伪造、窃取行为会造成非法的人得到合法的验证。这样就不能有效的进行身份识别和验证2。口腔上腭识别技术是指,利用人体的口腔上腭特征来认证人的身份。由于口腔上腭特征是每个人所特有的,其他人无法取代和复制,用这些特征来识别人的身份,比我们通常使用的口令或者信物来识别的方式要安全得多,另外由于计算机和现代技术的发展,用这些口腔上腭特征来识别辨别身份变得更加方便、快捷、安全。口腔上腭的特征包括以下几个方面1普遍性,即人人都具有该特征,比如象只有一部分人有的胎记或疤痕,就无法用中北大学2014届毕业设计说明书第2页共52页于大范围的身份识别;2唯一性,即每个人与其他人不一样;3稳定性,即口腔上腭
13、特征在一个相当长的时间内保持不变,经常变化的特征是无法保证识别系统的鲁棒性的;4可采集性,即是否可以方便地获取并量化这些特征3。然而,在实际操作中,仅仅满足上述四个条件还是不够的,还需要考虑到以下问题1系统整体的性能,也就是说采用这种特征来识别人的身份,速度,精度以及系统是否能够达到指标要求;2采用口腔上腭特征人们是不是可以接受,是否干涉了人的隐私或对人体有伤害,以及对用户而言,是否操作方便等等。因此,一个实用的口腔上腭识别系统应具备以下特征1用于识别的口腔上腭特征可以被人们所接受;2可以方便地获取这些口腔上腭特征;3系统的识别精度和速度能够满足应用需要;4对于各种欺骗手段,系统应有足够的适应
14、性和辨别性4。122口腔数字图像识别系统的组成口腔上腭特征识别系统主要包括以下两种不同的工作模式1验证模式,在该模式中,用户称自己是某个人,系统提取出该用户的口腔上腭特征后直接与数据库中该用户已存储的口腔上腭特征进行比较,给出是或不是的回答。2认证模式,在该模式中,系统提取出该用户的口腔上腭特征后,与数据库中的口腔上腭特征进行比较以确定该用户的身份5。口腔数字图像识别系统一般主要由口腔信息提取子系统、口腔图像识别子系统、口腔信息存储子系统等组成。其中,口腔信息提取子系统是基础及输入条件,他为整个系统提供数据信息;口腔信息存储子系统,是为整个系统的数据信息提供存储空间;口腔图像识别子系统是整个系
15、统的核心部分,它主要包括口腔数字图像的预处理、和系统识别等部分6。口腔信息数字识别系统的组成如图11所示。要进行口腔信息的识别,首先得通过口腔数字图像的读取设备将人体口腔数字图像读取到设备中,之后,需要先对原始的图像进行第一步的清晰处理。然后,根据数字图像利用MATLAB数字图像识别软件建立口腔数字图像的数字特征相关数据,因为不同的口腔数字图像不会产生一样的口腔数字图像特征数据,这种转换是一种单向的转换,只中北大学2014届毕业设计说明书第3页共52页能从数字图像转换成特征数据而不能让特征数据转换成口腔数字图像。最后,再利用计算机的模糊比较算法,将读取的口腔数字图像和需要比对的数字图像之间进行
16、比对,从而计算出它们相似程度,从而得到匹配两个口腔数字图像的匹配结果,进而进行特殊人群的身份识别。图11口腔信息数字识别系统的组成从口腔数字图像识别系统的几个构成部分可以看出每个部分的重要性,其每个部分也都是环环相扣的。因此,需要对该识别系统的每个环节都应该进行较为明确的认识7。13MATLAB软件介绍本文主要通过MATLAB软件进行,腭皱图像的数字化处理,现对MATLAB软件进行简单的介绍。MATLAB是在1984年由美国MATHWORKS1公司推向市场的,经过了十几年的发展,它已成为国际公认的最优秀的科技应用软件之一。MATLAB既是一种直观、效的计算机语言,同时又是一个科学计算平台。它为
17、数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。本文主要是通过MATLAB来进行图像的降噪、图像增强、图像分割、边缘检测和实现口腔图像识别的功能。14设计内容和要求1在了解本课题研究背景的基础上,对口腔信息识别技术有较为深刻的理解。2应用MATLAB图像处理工具,进行图像提取、图形预处理、系统识别等部分的程序算法。应用上述方法对口腔数字图像进行信息化处理。3通过应用MATLAB图像算法,实现口腔信息的身份匹配。某人口腔图像口腔信息特征值是否特殊人员系统识别口腔信息特征值特殊人群ID口腔信息图像库中北大学2014届毕业设计说明书第4页共52页2口腔数字信息识别系统的识别
18、原理口腔数字图像识别是指使用数码相机设备读取口腔上腭的鄂皱信息的数字图像,通过MATLAB图像识别工具,提取出鄂皱数字图像中的特征数据,然后根据MATLAB的图像算法来进行口腔数字图像的结果鉴定,来对所属人的身份进行识别,该技术是生物特征识别技术的一个应用8。21口腔上腭特征识别系统的基本原理以验证模式为例,一般的口腔上腭特征识别系统主要包括数据采集模块、数据预处理模块、系统识别模块及决策模块如图21所示。图21验证模式的生物特征识别系统流程1数据采集模块该模块负责采集被用来进一步验证的生物特征数据,如在自动腭皱识别系统中,该模块通过腭皱纹路采集仪获取用户的腭皱图像。2数据预处理模块数据预处理
19、的准确性及可靠性,如自动腭皱识别系统中对腭皱纹路图像进行的腭皱图像分割、腭皱图像增强等处理。4系统识别模块该模块主要是将待验证的用户特征与特征库中该用户已存储的特征进行匹配并给出一个或一系列反映特征相似度的参数值以供决策模块判断。5决策模块该模块基于已计算出的相似度参数值,采用某种决策策略给出是或不是的验证结果,来达到验证身份的目的9。22口腔数字图像识别系统的主要步骤一般一个完整的口腔数字图像识别系统需要经过以下四大关键步骤口腔数字预预处理、口腔数字图像分类与系统识别三大步骤10。其简明的系统流程框图如下图22所示。数据预处理生物特征数据采集是否匹配决策系统识别中北大学2014届毕业设计说明
20、书第5页共52页图22口腔数字图像识别系统流程框图221口腔图像预处理口腔数字图像预处理在口腔数字图像识别系统中具有重要的地位和作用,它是口腔数字图像识别系统中重要的环节,它的好坏将直接影响着口腔数字图像识别的结果和效果。受各种原因的影响,在口腔数字图像识别的过程中输入的口腔数字图像可能是一幅含数字噪声较多的灰度数字图像,口腔图像预处理的目的就是去除数字图像中的噪声,从而使数字图像边缘更明显,画面更清晰,努力把它变成一幅清晰的点线图,以便于提高所提取的口腔数字图像特征11。数字图像预处理的过程一般分为四个步骤1数字图像降噪2数字图像增强3数字图像边缘检测4数字图像分割222口腔数字图像分类口腔
21、数字图像的识别通常需要在大规模的数据库中进行计算的。如果没有一种有效的数据库分类机制,输入的口腔图像将必须和数据库中大量的口腔图像一一进行比对,这样系统的工作量十分繁重,同时也非常耗时。为了减少计算的复杂度和匹配的时间,必须首先对口腔进行分类,这样查询只需在口腔数据库中的一个相应子集中进行,从而大大节省了运算时间并降低了复杂度。由于口腔上腭的种类比较多,主要是看上腭鄂皱的纹路走向,再此不做详细的分类介绍。223口腔数字图像系统的识别口腔数字图像系统的识别主要是特征匹配的过程。特征匹配主要是对所提取的细节特征进行匹配,将要比对的新的图像的特征数值与所建立的口腔库中的图像的细节特征数值进行比对,并
22、将最为相似的图像作为结果输出,这是口腔数字图像的验证识别过程,口腔图像预处理口腔图像提取口腔系统识别中北大学2014届毕业设计说明书第6页共52页也是口腔识别系统的最终目的12。借鉴目前最常用的指纹特征匹配方法是用美国联邦调查局提出的细节点坐标模型来做细节匹配。它利用脊线末梢(端点)与脊线分叉点这两种关键点来鉴定指纹。通过将细节点表示为点模式,一个自动指纹识别的问题就可以转化为一个点模式匹配问题,即细节特征匹配。一般来说,同一口腔数字图像因为受各种因素的影响可能使得两次输入所得的特征模板不同。因此,我们所说的两个图像匹配是指二者的相似而不是完全吻合,这就出现了衡量指标的问题。通常,我们用“匹配
23、度”来表示匹配结果,这也是我们的衡量指标。根据经验等因素可以人为设定一个阈数值,当匹配度阈数值时,认为两口腔数字图像匹配,它们是同一口腔上腭;相反,当匹配度1IRGB2GRAYI如果是灰度图就不用先变换ENDIDOUBLEI/255I1UINT8255I0901F2I1M,NSIZEF2FIGURESUBPLOT2,2,1,IMSHOWF2TITLE原图SUBPLOT2,2,2,IMHISTF2TITLE灰度直方图AXIS026003000扩大坐标范围HOLDOFFF2DOUBLEF2FORI1150C1I15原来的48修改为15C2I100原来的123修改为40C3I150选择三个初始聚类中
24、心原来的172修改为80RABSF2C1IGABSF2C2IBABSF2C3I计算各像素灰度与聚类中心的距离R_GRG中北大学2014届毕业设计说明书第36页共52页G_BGBR_BRBN_RFINDR_G0寻找最大的聚类中心II1C1ISUMF2N_R/LENGTHN_R将所有低灰度求和取平均,作为下一个低灰度中心C2ISUMF2N_G/LENGTHN_G将所有低灰度求和取平均,作为下一个中间灰度中心C3ISUMF2N_B/LENGTHN_B将所有低灰度求和取平均,作为下一个高灰度中心D1IABSC1IC1I1D2IABSC2IC2I1D3IABSC3IC3I1IFD1IRSUBPLOT2,
25、2,3,IMSHOWF2TITLE聚类后的图像SUBPLOT2,2,4,IMHISTF2TITLE聚类后的图像直方图填充效果I2F2I3IMCOMPLEMENTIMFILLIMCOMPLEMENTI2,HOLESFIGURE5SUBPLOT1,2,1IMSHOWI2TITLE原图像SUBPLOT1,2,2IMSHOWI3TITLE填充图像开闭运算AF2FIGURE5SUBPLOT2,2,1,IMSHOWATITLE原图像SESTRELDISK,2A1IMOPENA,SEA2IMCLOSEA1,SESUBPLOT2,2,2,IMSHOWA1TITLE开运算后的图像SUBPLOT2,2,3,IMS
26、HOWA2TITLE开后再闭后的图像边缘增强XF2读入文件名为的图XIMCOMPLEMENTIMFILLIMCOMPLEMENTX,HOLESFIGURE7,IMSHOWX显示原图关闭运算得到较好效果中北大学2014届毕业设计说明书第38页共52页SESTRELRECTANGLE,43结构定义XIMCLOSEX,SEBI运算FIGURE,IMSHOWXIXD1,D2,D3SIZEIIFD31IRGB2GRAYI如果是灰度图就不用先变换ENDIDOUBLEI/255I1UINT8255I0901FI1BIM2BWF,GRAYTHRESHF二值化,应保证集水盆地的值较低(为0),否则就要对B取反D
27、BWDISTB求零值到最近非零值的距离,即集水盆地到分水岭的距离FIGURE,IMSHOWF,TITLE原图SESTRELDISK,30ITOPIMTOPHATF,SEIBOTIMBOTHATF,SEIENHANCEIMSUBTRACTIMADDITOP,F,IBOTIECIMCOMPLEMENTIENHANCELWATERSHEDDMATLAB自带分水岭算法,L中的零值即为风水岭WL0取出边缘GB用W作为MASK从二值图像中取值HFSPECIALSOBEL获得纵方向的SOBEL算子FDDOUBLEFGSQRTIMFILTERFD,H,REPLICATE2IMFILTERFD,H,REPLIC
28、ATE2使用SOBEL算子进行梯度运算LWATERSHEDG分水岭运算WRL0提取边缘中北大学2014届毕业设计说明书第39页共52页G2IMCLOSEIMOPENG,ONES3,3,ONES3,3进行开闭运算对图像进行平滑L2WATERSHEDG2再次进行分水岭运算区域合并运算WR2L20提取边缘BW2FBW2WR20SESTRELDISK,3F2IMDILATEBW2,SERGBLABEL2RGBF2FIGURE,IMSHOWRGB用不同的颜色表示分割出的不同区域RGB1IMCROPRGBFIGURE,IMSHOWRGB1TGRAYTHRESHX用OTSU求自动阈值Y0255Y为灰度值UC
29、07初始化UC为050自己修改为03IFYT以阈值T为分界线,分区域定义灰度级Y的隶属度PY/TELSEPY/255ENDFORR132为模糊增强算子的迭代次数自己修改为5FORI0255做一次0到255的循环IFPI1UC当变量P小于等于UC时,有PPP/UCPI1PI12/UCELSEPI111PI12/1UC当变量P大于UC时,有P11P1P/1UCENDENDENDIFYTTBLROUNDPTROUND为四舍五入函数中北大学2014届毕业设计说明书第40页共52页ELSETBLROUNDP255ENDM,NSIZEX计算图像的大小FORI1M图像高度是MFORJ1N图像宽度为NXI,J
30、TBLXI,J1ENDENDFORI2M1FORJ2N1MRECXI1I1,J1J1以坐标(I,J)为中心的33窗口MINVALUEMINMINMRECMIN算子MAXVALUEMAXMAXMRECMAX算子EDGE3I,JMAXVALUEMINVALUE提取边缘ENDENDFIGURE9,IMSHOWEDGE3TITLE突出边缘的图像显示边缘检测图像EDGE4IMRESIZEEDGE3,169,380EDGEXEDGE4XFIGURE10,IMSHOWEDGEXEDGEI1EDGEXI1FIGURE11,IMSHOWEDGEI1RGB1IMCROPRGBFIGURE,IMSHOWRGB1关闭
31、运算得到较好效果SESTRELRECTANGLE,43结构定义JIMCLOSEX,SE开启运算FIGURE,IMSHOWJ图像降噪I,MAPIMREADE新建文件夹2JPG中北大学2014届毕业设计说明书第41页共52页FIGURE,IMSHOWITITLEORIGINALIRGB2GRAYIM4010101010M4M4/44邻域平均滤波I_FILTER1FILTER2M4,IFIGURE,IMSHOWI_FILTER1,MAP图像分割CLEARTICIMGNAMEE新建文件夹2JPGWAVENAMEHAAR用HAAR小波来分解MODEPERX,MAPIMREADIMGNAMEX是像素色值,
32、MAP是色谱FIGURE1SUBPLOT2,2,1IMSHOWXTITLE原图RXRRGB2GRAYX三维图像变成二维图像XXHISTEQR直方图均衡化SUBPLOT2,2,2IMSHOWXXTITLE增强后的图像DECCOFSTRUCTCA,CH,CV,CD,三层分解RECCOFSTRUCTRX,SXSIZEXXNBCOLSIZEMAP,1DXXXDECCOF1CAXXDECCOF2CA,DECCOF2CH,DECCOF2CV,DECCOF2CDDWT2DX,WAVENAME,MODE,MODE使用小波函数对图像DX进行二维小波变换FIGURE2IMSHOWDECCOF2CA/255,DEC
33、COF2CH/255DECCOF2CV/255,DECCOF2CD/255TITLE小波分解AMDECCOF2CA/255中北大学2014届毕业设计说明书第42页共52页FIGURE1SUBPLOT2,2,3IMSHOWAMTITLE近似分量找阈值LSIZEAM,1WSIZEAM,2NLWCOUNTRETIMHISTAMPICOUNT/NGFORT0255W0SUMPI1T1W11W0MU0SUMPI1T10T/W0MU1SUMPIT2256T1255/W1MUSUMPI12560255GGW0W1MU0MU12/W1MU0MU2W0MU1MU2ENDRET1TMAXGT1TTNUM2STRT
34、1DISP最佳灰度THREHOLDT分割I1IM2BWAM,T1/255FIGURE1,SUBPLOT2,2,4IMSHOWI1TITLE阈值分割后的图像UIDWT2I1,DECCOF2CH/127,DECCOF2CV/127,DECCOF2CD/127,WAVENAME,MODE,MODEFIGURE3,IMSHOWUTITLE小波分割图像TOC中北大学2014届毕业设计说明书第43页共52页图像的MSE、SNR、PSNR的计算AIMREAD24JPGBUM,NSIZEAADOUBLEABDOUBLEBSUM10FORI1MFORJ1NSUM1SUM1AI,JBI,J2ENDENDMSEVA
35、LUESUM1/MN计算均方误差MSESUM20FORI1MFORJ1NSUM2SUM2AI,J2ENDENDPSUM2SNR10LOG10P/MSEVALUE计算信噪比SNRPSNR10LOG102552/MSEVALUE计算峰值信噪比PSNR4特征匹配FUNCTIONVARARGOUTJIEMIAN2VARARGINJIEMIAN2MFILEFORJIEMIAN2FIGJIEMIAN2,BYITSELF,CREATESANEWJIEMIAN2ORRAISESTHEEXISTINGSINGLETONHJIEMIAN2RETURNSTHEHANDLETOANEWJIEMIAN2ORTHEHAN
36、DLETOTHEEXISTINGSINGLETONJIEMIAN2CALLBACK,HOBJECT,EVENTDATA,HANDLES,CALLSTHELOCAL中北大学2014届毕业设计说明书第44页共52页FUNCTIONNAMEDCALLBACKINJIEMIAN2MWITHTHEGIVENINPUTARGUMENTSJIEMIAN2PROPERTY,VALUE,CREATESANEWJIEMIAN2ORRAISESTHEEXISTINGSINGLETONSTARTINGFROMTHELEFT,PROPERTYVALUEPAIRSAREAPPLIEDTOTHEGUIBEFOREJIEMI
37、AN2_OPENINGFCNGETSCALLEDANUNRECOGNIZEDPROPERTYNAMEORINVALIDVALUEMAKESPROPERTYAPPLICATIONSTOPALLINPUTSAREPASSEDTOJIEMIAN2_OPENINGFCNVIAVARARGINSEEGUIOPTIONSONGUIDESTOOLSMENUCHOOSE“GUIALLOWSONLYONEINSTANCETORUNSINGLETON“SEEALSOGUIDE,GUIDATA,GUIHANDLESEDITTHEABOVETEXTTOMODIFYTHERESPONSETOHELPJIEMIAN2LA
38、STMODIFIEDBYGUIDEV2503JUN2014213929BEGININITIALIZATIONCODEDONOTEDITGUI_SINGLETON1GUI_STATESTRUCTGUI_NAME,MFILENAME,GUI_SINGLETON,GUI_SINGLETON,GUI_OPENINGFCN,JIEMIAN2_OPENINGFCN,GUI_OUTPUTFCN,JIEMIAN2_OUTPUTFCN,GUI_LAYOUTFCN,GUI_CALLBACK,IFNARGINENDIFNARGOUTVARARGOUT1NARGOUTGUI_MAINFCNGUI_STATE,VARA
39、RGINELSEGUI_MAINFCNGUI_STATE,VARARGINENDENDINITIALIZATIONCODEDONOTEDITEXECUTESJUSTBEFOREJIEMIAN2ISMADEVISIBLE中北大学2014届毕业设计说明书第45页共52页FUNCTIONJIEMIAN2_OPENINGFCNHOBJECT,EVENTDATA,HANDLES,VARARGINTHISFUNCTIONHASNOOUTPUTARGS,SEEOUTPUTFCNHOBJECTHANDLETOFIGUREEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONO
40、FMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATAVARARGINCOMMANDLINEARGUMENTSTOJIEMIAN2SEEVARARGINCHOOSEDEFAULTCOMMANDLINEOUTPUTFORJIEMIAN2HANDLESOUTPUTHOBJECTUPDATEHANDLESSTRUCTUREGUIDATAHOBJECT,HANDLESUIWAITMAKESJIEMIAN2WAITFORUSERRESPONSESEEUIRESUMEUIWAITHANDLESFIGURE1OUTPUTSFROMTHISFUNCTIO
41、NARERETURNEDTOTHECOMMANDLINEFUNCTIONVARARGOUTJIEMIAN2_OUTPUTFCNHOBJECT,EVENTDATA,HANDLESVARARGOUTCELLARRAYFORRETURNINGOUTPUTARGSSEEVARARGOUTHOBJECTHANDLETOFIGUREEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATAGETDEFAULTCOMMANDLINEOUTPUTFROMHANDLESS
42、TRUCTUREVARARGOUT1HANDLESOUTPUTEXECUTESONBUTTONPRESSINPUSHBUTTON1FUNCTIONPUSHBUTTON1_CALLBACKHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETOPUSHBUTTON1SEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATAGLOBALIM选取图片路径FILENAME,PATHNAMEUIGETFILEJPGBNPGIF
43、,选择图片中北大学2014届毕业设计说明书第46页共52页合成路径文件名STRPATHNAMEFILENAME读取图片IMIMREADSTR使用第一个AXESAXESHANDLESAXES1显示图片IMSHOWIMEXECUTESONBUTTONPRESSINPUSHBUTTON2FUNCTIONPUSHBUTTON2_CALLBACKHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETOPUSHBUTTON2SEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHH
44、ANDLESANDUSERDATASEEGUIDATAGLOBALIP选取图片路径FILENAME,PATHNAMEUIGETFILEJPGBNPGIF,选择图片合成路径文件名STRPATHNAMEFILENAME读取图片IPIMREADSTR使用第一个AXESAXESHANDLESAXES2显示图片IMSHOWIPEXECUTESONBUTTONPRESSINPUSHBUTTON3FUNCTIONPUSHBUTTON3_CALLBACKHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETOPUSHBUTTON3SEEGCBOEVENTDATARESERVEDTOBE
45、DEFINEDINAFUTUREVERSIONOFMATLAB中北大学2014届毕业设计说明书第47页共52页HANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATAGLOBALIMGLOBALIPIIMSUBTRACTIM,IP使用第一个AXESAXESHANDLESAXES3KRGB2GRAYIMJRGB2GRAYIPJIMRESIZEJ,3456,5184YIMREADYJPGNIMREADNJPGKEDGERGB2GRAYIM,CANNYJEDGERGB2GRAYIP,CANNYIFKJIMSHOWY1JPGELSEKJIMSHOWN1JPGEN
46、DEXECUTESONBUTTONPRESSINPUSHBUTTON4FUNCTIONPUSHBUTTON4_CALLBACKHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETOPUSHBUTTON4SEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATACLOSEGCFEXECUTESWHENSELECTEDOBJECTISCHANGEDINUIPANEL4FUNCTIONUIPANEL4_SELECTION
47、CHANGEFCNHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETOTHESELECTEDOBJECTINUIPANEL4EVENTDATASTRUCTUREWITHTHEFOLLOWINGFIELDSSEEUIBUTTONGROUPEVENTNAMESTRINGSELECTIONCHANGEDREADONLY中北大学2014届毕业设计说明书第48页共52页OLDVALUEHANDLEOFTHEPREVIOUSLYSELECTEDOBJECTOREMPTYIFNONEWASSELECTEDNEWVALUEHANDLEOFTHECURRENTLYSELECTEDOB
48、JECTHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATAGLOBALIMSTRGETHOBJECT,STRINGAXESHANDLESAXES1SWITCHSTRCASE原图IMSHOWIMCASESOBELBWEDGERGB2GRAYIM,SOBELIMSHOWBWCASEPREWITTBWEDGERGB2GRAYIM,PREWITTIMSHOWBWCASECANNYBWEDGERGB2GRAYIM,CANNYIMSHOWBWENDGLOBALIPSTR2GETHOBJECT,STRINGAXESHANDLESAXES2SWITCHSTRCAS
49、E原图IMSHOWIPCASESOBELBWEDGERGB2GRAYIP,SOBELIMSHOWBWCASEPREWITT中北大学2014届毕业设计说明书第49页共52页BWEDGERGB2GRAYIP,PREWITTIMSHOWBWCASECANNYBWEDGERGB2GRAYIP,CANNYIMSHOWBWENDEXECUTESDURINGOBJECTCREATION,AFTERSETTINGALLPROPERTIESFUNCTIONUIPANEL4_CREATEFCNHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETOUIPANEL4SEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESEMPTYHANDLESNOTCREATEDUNTILAFTERALLCREATEFCNSCALLEDE