手势识别技术毕业设计_第1页
手势识别技术毕业设计_第2页
手势识别技术毕业设计_第3页
手势识别技术毕业设计_第4页
手势识别技术毕业设计_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要社会的进步和科技的进展令人们急需一种靠得住、简便、快捷的手势识别技术。近些年来手势识别由于其具有非接触的识别方式、快速的识别进程和稳固的识别系统等优势受到了人们普遍的关注。本文基于MATLAB,设计并实现了一种基于MATLAB的手势识别系统。第一,文章介绍了研究手势识别技术的意义和目的。第二,由于手势图像的尺寸、角度、清楚度等问题对手势识别有超级大的阻碍,因此咱们先对其进行图像预处置。本文提供的预处置方式超级丰硕。最后,重点讲述了本文应用的手势识别算法。而且在MATLAB上对手势识别算法进行仿真。对仿真结果进行了详细地分析。关键词;MATLAB;手势识别;图像预处置ABSTRACTThep

2、rogressofthesocietyandthedevelopmentofscienceandtechnologymakepeopleurgentlyneedareliable,convenientandfastgesturerecognitiontechnology.Gesturerecognitioninrecentyearsbecauseofitsidentificationwithnon-contactway,fastrecognitionprocessandthestabilityoftheadvantagesofrecognitionsystemhasreceivedthewid

3、espreadattention.BasedonMATLAB,thispaperdesignsandrealizesakindofgesturerecognitionsystembasedonMATLAB.First,thispaperintroducestheresearchmeaningandpurposeofgesturerecognitiontechnology.Secondly,asaresultofgestureimageproblemsuchasdimension,Angle,anddefinitionofgesturerecognitionhasgreatinfluence,s

4、oweareonthefirstimagepreprocessing.Thisarticleprovidespretreatmentmethodisveryrich.Finally,focusesontheapplicationofgesturerecognitionalgorithminthispaper.AndgesturerecognitionalgorithmonMATLABsimulation.Thesimulationresultsareanalyzedindetail.Keywords;MATLAB;Handgesturerecognition;Imageprerocessing

5、目录TOC o 1-5 h z HYPERLINK l bookmark6 o Current Document 引言1课题的背景和意义1国内外研究现状1 HYPERLINK l bookmark8 o Current Document 手势识别研究综述4手势的概念4手势识别的意义4手势识别的要紧内容4手势识别的方式5 HYPERLINK l bookmark10 o Current Document 手势图像的格式及大体操作6手势图像格式6数字图像的表示6数字图像的灰度图6TIFF与BMP图像格式7通用的图像操作9图像的剪切9图像的缩放9图像的亮度调整10 HYPERLINK l bookm

6、ark12 o Current Document 4手势图像的预处置11当把观看到的手势图像转换成可用运算机处置的数字图像时,图像在生成、传输或变换进程中会受到各类因素的干扰和阻碍,图像的画质将会因噪声而在不同程度上显现歧变,本文对输入图像进行了滑腻、锐化、二值化等预处置。预处置的目的是去除图像中的噪声,增强图像中的有效信息,并对输入方式或其他情愿造成的退化现象进行恢复,图像预处置进程是对图像的一个过滤进程,要排除干扰保留需要处置的部份,并过滤掉不需要的部份。由于成像设备在读入手势图像时会扩大取景范围,其中含很多无效的像素点,这会阻碍以后的处置,增加计算量,因此第一完成的是尽可能准确从读入图像

7、中掏出包括被测物体的图像部份,那个进程的要紧难度在于判定图像是不是属于需要保留的部份,且必需保证其准确性,不然将会对下一步图像分析和判定造成严峻的阻碍。11TOC o 1-5 h z图像滑腻11局部平均法11中值滤波法12中值滤波也是一种局部平均滑腻技术,它对脉冲干扰和椒盐的抑制成效好,在抑制随机噪声的同时能使边沿减少模糊。中值滤波法是一种非线形的图像滑腻方式,它对一个滑动窗口的诸像素灰度排序,用其中值代替窗口中心像素原先的灰度值(假设窗口中有偶数个像幸,那么取两个中间值的平均)。中值滤波的成效与局部平均的成效相较较,中值滤波有以下优势:一、降低噪声的成效比较明显;二、在灰度值转变较小的情形下

8、能够取得专门好的滑TOC o 1-5 h z腻处置;三、降低了图像边界部份的模糊程度。12频域滑腻技术12图像的滑腻除能够在空域中进行外,也能够在频域中进行。频域中的平滑是一维信一号低通滤波器概念在二维图像中的直接推行。图像通过二维傅立叶变换后,噪声频谱一样位于空间频率较高的区域,而图像本身的频率分量那么处于空间频率较低的区域内,因此能够通太低通滤波器的方式,使高频分量受到抑制,从而实现图像的滑腻。滤波器的数学表达式为:12图像二值化12依照图像处置的目标要求,需要把多灰度级的图像变成只有两个灰度级的图像,即对图像进行二值化。设图像f(x,y)的灰度值范围在a,b,二值化阐值设为T(av=Tv

9、=b),那么二值化处置的一样式为:12p-参数法13当预先明白对象物在图像中所占的面积比率时,将灰度直方图中面积比率为P%的点作为闭值,这种方式称为P一参数法(p-tilemethod)。但在实际中,己知对象所占的面积比率的状况超级少见,通常都是依照必然的规律推算出来例如在书画作品中,文字部份所占的面积比率一样情形下是能够估量出来这时用这种方式来处置时比较有效的。13模式法13当灰度直方图具有双峰性的时候,对象物和背景的灰度一样别离在两个山峰的周围,因此,可去山谷的中心点为闭值,这种方式称为模式法(modemethod)。可是,实际情形中,灰度直方图不是很滑腻的,会存在一些因小的凹凸而产生的局

10、部极小值,如此给自动判定造成专门大的不便。比较简单的方式是,先将灰度直方图进行滑腻处置,再进行阂值的选择,或是以选出的灰度为中心考查1k的两点,用此两点来判定选出的灰度值的点是不是极大值或极小值点。如此的处置方式会产生一些噪声,但对判定可不能TOC o 1-5 h z造成大的阻碍。13可变阀值法13在不均匀的照明条件下所取得的灰度图像,采纳确信闭值进行二值化的时候,到不到期望的图像。在这种情形下,有两种解决方案,一种是当照明强度可用图像坐标的函数来表示是,被观测图像g(x,y)可用下式来描述:13 HYPERLINK l bookmark14 o Current Document 5MATLA

11、B介绍14 HYPERLINK l bookmark16 o Current Document MATLAB概述14 HYPERLINK l bookmark18 o Current Document MATLAB的功能16 HYPERLINK l bookmark20 o Current Document MATLAB语言特点16 HYPERLINK l bookmark22 o Current Document MATLAB语言的优势18MATLAB数组与矩阵20 HYPERLINK l bookmark24 o Current Document MATLAB函数21 HYPERLINK

12、l bookmark28 o Current Document 6基于MATLAB的手势识别实现方式23手势表现特点分析23特点提取23手势识别23MATLAB中手势识别的仿真25输入待识别手势图片26判定输赢27结论29致谢30 HYPERLINK l bookmark34 o Current Document 参考文献31 HYPERLINK l bookmark36 o Current Document 附录A源代码34 HYPERLINK l bookmark38 o Current Document 附录B英文原文文献38 HYPERLINK l bookmark66 o Curre

13、nt Document 附录B中文翻译48引言课题的背景和意义人与运算机的交互活动愈来愈成为人们口常生活的一个重要组成部份。专门是最近几年,随着运算机技术的迅猛进展,研究符合人机交流适应的新颖人机交互技术变得异样活跃,也取得了可喜的进步。这些研究包括手势识别、脸部表情识别、唇读、头部运动跟踪、凝望跟踪、人脸识别、和体势识别等等。总的来讲,人机交互技术己经从以运算机为中心慢慢转移到以人为中心,是多种媒体、多种模式的交互技术。基于MATLAB的手势识别研究正是顺应了这一潮流。手势是一种自然、直观、易于学习的人机交互手腕。以人手直接作为运算机的输入设备,人机之间的通信将再也不需要中间媒体,用户能够简

14、单地概念一种适当的手势来对周围的机械进行操纵。以人手直接作为输入手腕与其他输入方式相较较,具有自然性、简练性,和丰硕性、直接性的特点,因此用运算机来识别手势提供了一个更自然的人机接口。可是由于手势本身具有的多样性、多义性和时刻和空间上的不同性等特点,加上人手是复杂变形体和视觉本身的不适定性,因此基于MATLAB的手势识别是一个多学科交叉的、富有挑战性的研究课题。为了寻觅冲破口,必需研究人机交流中的手势用法,从而确信合理的研究范围。手势识别的研究能够应用于运算机辅助哑语教学、电视节目双语播放、虚拟人的研究、电影制作中的特技处置、动画的制作、医疗研究、游戏娱乐等诸多方面,同时也有助于改善和提高聋哑

15、人的生活学习和工作条件,为他们供更好的效劳;另外,手势的研究涉及到教学、运算机图形学、机械人运动学、医学等多学科。因此,手势识别的研究是一个超级成心义的课题。手势输入在人机交互中应用的精华不在于用来独立的用作空间指点,而是作为语言、视线、唇语等交互通道提供空间的或其它约束信息,以排除在单通道输入时存在的歧义,如此就能够够以充分性取代精准性。国内外研究现状在新的人机交互领域,国际上己经显现付诸应用的人机交互系统,2003年12月,美国密歇根州的Cybernet系统公司开发出一套名为手势风暴的系统,是公司针对天气预报节目开发的,主持人能够通过简单的手势来操纵预报的进程;美国加州圣何塞的Canest

16、a公司在2004年末推出一种新的设备,它能够使个人数字助理(PDA)具有手势识别功能。该设备会通过PDA内部透镜在桌面等平面上投射出键盘的影像。与此同时,它还会向该“键盘”的上方区域射出一束红外光。通过检测红外光脉冲从离开发射器、经用户手指反弹后最终回到PDA内传感器的时刻,该设备能够精准感知用户手指在任一时刻的位置。光脉冲的来回程时刻对应于特定的距离,依照这些不同的距离能够得出手指在键盘上位置的三维图像,如此PDA就能够够准确地搜集用户在虚拟键盘上的操作信息;美国佐治亚理工学院有一项用手势识别减少汽车事故的研究课题,该校的研究小组开发了名为“手势面板”的设备来取代汽车上通常利用的仪表板操纵设

17、备,司机只需要在指定区域做出某个手势,即可调整车内的温度或音响的音量,而不需要转移对路面的注意力。在基于视觉手势识别方面,具有代表性的研究功效包括:1991年富士通实验室完成了对46个手语符号的识别工作;和将戴上尖具有高亮标记的视觉手套的手势作为系统的输入,可识别7种手势;Starner等在对美国手语中带有词性的40个辞汇随机组成的短句子识别率达到;和从视频录像中提取特点,采纳HMM技术识别262个孤立词,正确率为;另外,Vogler与Metaxas将两种方式结合用于美国手语识别,交互采纳一个位置跟踪器及三个相互垂直的摄像机作为手语输入设备,完成了53个孤立词的识别,识别率为%。利用数据手套等

18、典型传感设备的方式中,CMU的ChristopherLee和Xu在1995年完成了一个操纵机械人的手势操纵系统;用PowerGloves作为手语输入设备,识别由95个孤立词组成的词聚集,正确率为80%。面对如此多的新型用户接口,有分析家指出:简便性和直观性是其是不是成功的关键标准在我国,哈尔滨工业大学的吴江琴、高文等给出了ANN与HMM的混合方式作为手语的训练识别方式,以增加识别方式的分类特性和减少模型的估量参数的个数,将ANN-HMM混合方式应用于有18个传感器的CyberGlove型号数据手套的中国手语识别系统中,孤立词识别率为90%,简单语句级识别率为92%。接下来高文等又选取Cyber

19、glove型号数据手套作为手语输入设备,并采纳了DGMM(ynamicGaussianMixtureMode)为系统的识别技术,即利用一个随时刻转变的具有M个分量的混合GaussianN一元混合密度来模型化手语信号,可识别中国手语字典中274个词条,识别率为%。与基于HMM的识别系统比较,这种模型的识别精度与HMM模型的识别精度相当,其训练和识别速度比HMM的训练与识别速度有明显的改善。他们为了进一步提高识别速度,识别模块当选取了多层识别器,可识别中国手语字典中的274个词条,识别率为%。与基于单个DGMM的识别系统比较,这种模型的识别精度与单个DGMM模型的识别精度大体相同,但其识别速度比单

20、个DGMM的识别速度有明显的提高。2000年在国际上他们第一次实现了5000词以上的持续中国手语识别系统。另外,清华大学祝远新、徐光裕等给出了一种基于视觉的动态孤立手势识别技术,借助于图像运动的变阶参数模型和鲁棒回归分析,提出一种基于运动分割的图像运动估量方式,基于图像运动参数,构造了两种表现转变模型别离作为手势的表现特点,利用最大最小优化算法来创建手势参考模板,并利用基于模板的分类技术进行识别,对12种手势的识别率超过90%;在进一步研究中,他们又给出了有关持续动态手势的识别,融合手势运动信息和皮肤颜色信息,进行复杂背景下的手势分割,通过结合手势的时序信息、运动表现及形状表现,提出动态手势的

21、时空表现模型,并提出基于颜色、运行和形状等多模式信息的分层融合策略抽取时空表观模型的参数。最后,提出动态时空规整算法用于手势识别,对12种手势,平均识别率高达97%。台湾大学的Liang等人利用单个VPL数据手套作为手语输入设备,可识别台湾手语讲义中的250个大体词条,识别率为%。手势识别研究综述手势的概念由于手势(gesture)本身具有多样性和多义性,具有在时刻空间上的不同性加上不同文化背景的阻碍对手势的概念是不同的。那个地址把手势概念为:手势是人手或手和臂结合所产生的各类姿势和动作,它包括静态手势(指姿态,单个手形)和动态手势(指动作,由一系列姿态组成)。静态手势对应模型参数空间里的一个

22、点,而动态手势对应着模型参数空间里的一条轨迹,需要利用随时刻转变的空间特点来表述。手势和姿势(posture)的要紧区别在于姿势更为强调手和躯体的形态和状态而手势更为强调手的运动。手势识别的意义目前,手势识别技术的应用在当前是比较热点的研究课题,已经有了相当丰硕的手势识别理论研究,并有很多的应用实践。由于人们的研究目的需求不同,在具体的处置方面就产生了不同的处置技术。将运算机手势识别技术应用于图书馆虚拟现实导航系统当中,利用户能够身临其境的以自然的方式,在虚拟的场景中取得真实的感受成为一种可能。用手势进行人机交互十分自然、高效。以人手直接作为输入手腕与其它输入方式相较较,具有自然性、简练性和丰

23、硕性、直接性的特点。因此,用运算机来识别手势提供了一个更自然的人机接口。利用运算机手势识别技术去识别用户输入的手势动作,并依照其识别的结果去驱动图书馆虚拟现实导航系统,用户将摆脱诸多外部硬件设备的限制,解放躯体,自由的在空间中以简单的手势动作驱动应用。因此,研究手势识别技术的实现,并利用运算机手势去操作图书馆虚拟现实导航系统具有现实意义。手势识别的要紧内容针对手势输入技术和方式的研究,采纳基于运算机视觉的手势输入方法,识别自然手势,令人机交互加倍灵活、方便。一一分析手势识别各环节的技术,对手势图像进行处置、分割、特点提取、匹配,选取适合技术,设计图书馆虚拟现实导航系统方案。图手势识别流程图结合

24、以上各项研究功效,应用VC+开发工具,构建图书馆虚拟现实导航系统。实验以上研究的各项关键技术,并进行评测和验证。手势识别的方式在基于形状特点的识别算法中,咱们在边界图像的基础上依照手势区域的形状特点对手势图像进行粗分类,依照手势图像中手指的方向及数量把手势图像分成向上、向右、向劣等类别,然后别离在边界图像和二值图像的中提取手势图像面积、周长、重心距等特点,组成s维特点向量,最后采纳类似度进行模板匹配,实现对字母手势的细分类;在基于傅立叶描述子的识别算法中。第一采纳八邻域搜索法对二值化的手势图像进行边缘检测,取得连通的手势外轮廓,然后计算边界点序列的傅立叶系数取得傅立叶描述子,并将傅立叶描述子进

25、行归一化,构建手势图像的特点向量,最后通过计算输入手势的特点向量与样本库中每一图像的特点向量的欧式距离,判定输入图像与样本图像间的匹配程度,咱们把待识输入图像归为距离最小的那一类。实验对中国手语中字母手势进行识别,取得了较好的成效。本文采纳的识别流程如图:输入图片二)图片预处理二特征提取二手势识别手势图像的格式及大体操作为了使运算性能够对各类现象进行分类识别,要用运算性能够运算的符号来表示所研究的对象。通常输入对象的信息有三种类型:(1)二维图像如文字、指纹、地图、照片这种对象。(2)一维波形如脑电图、心电图、机械振动波形等。(3)物理参量和逻辑值前者如在疾病诊断中病人的体温及各类化验数据等;

26、后者如对某参量正常与否的判定或对病症有无的描述,如疼与不疼,可用逻辑值0和1来表示。在引入模糊逻辑的系统中,这些值还能够包括模糊逻辑值,比如专门大、大、比较大等。在手势识别中,处置的对象是手势的照片,咱们提取数据的目标确实是将手势的图像用一个特点向量来表示出来。在本文中所处置的图片要紧有TIFF与BMP两种格式,TIFF格式相对来讲要复杂一些,能够存储的图像也要丰硕得多,它能够存储多张图片,还能够存储多种紧缩格式的图片,而BMP格式的图片简单、通用,一样在应用程序中能够方便的显示。因此咱们的工作除熟悉多种格式的图像文件之外,还包括实现多种格式图像文件之间的彼此转换,并最终提掏出表示图像的特点向

27、量。手势图像格式数字图像的表示数字图像的表示方式能够分为两类:位图方式和矢量方式。位图方式该方式将一副图像划分为一张栅格,格中每一部份(像素)或色彩单独记录,位图中的一个数据点的位置决定了该数据点所代表的像素,即数据点与图像对应,“位图”由此而来,位图适用于色彩、阴影或形状转变负责的图像,如照片、绘画或数字化视频等。矢量方式这种方式用一系列线段或其他造型描述一副图像,它适合与线型图等简鱼的国戒成图像。数字图像的灰度图灰度又称为“Graysacle,它代表像素的亮度值。在一副黑白照片中,不是简单的非黑即白,而是慢慢过渡的,他们可区分为不同的亮度品级即灰度级。灰度划分越细,越能准确的再现图像。目前

28、普遍采纳的是256灰度级,即每一个像素的灰度用一个字节(a位)表示,其中0表示全黑,256表示全白。TIFF与BMP图像格式TIFF图像文件要紧由三种数据组合而成:表头、标识信息区和图像数据区。表头信息指出了标识信息区在文件中的地址,而标识信息区由一组标志信息组成,它们表示出了TIFF图像所有的属性而且指明了图像数据区的地址,图像数据区将图像的像素数据以自上而下,自左到右的顺序依次寄存。它们的关系如下图:TIFF表头数据标识信息区图像数据区图关系图假设标识信息区结尾的标志参数不为0,那么该参数就表示下一个标识信息区的地址,在TIFF图像中,每一个标识信息区和一个图像数据区就表示一幅图像,因此假

29、设文件中含有多个标识信息区就说明该文件中存储了多幅图像BMP图像文件也分为三部份:表头、调色板和图像数据。表头长度固定为54个字节,里面包括了图像所有属性的数据包括宽度、高度、颜色信息等。调色板数据中每一种颜色以四个字节来表示,它们别离是Blue分量、Green分量、Red分量和一个保留值。在BMP图像文件中,图像的数据以自下而上,自左到右的顺序寄存,而且必需保证每行的数据必需是4个字节的整数倍。BMP图像文件中各部份内容超级紧凑,因此省去了标志相应地址的信息。TIFF图像和BMP图像在调色板数据方面存在着不同,这在实现两种格式图像的转换时超级重要。在BMP图像中除全彩色RGB图像之外,所有不

30、超过256色的图像必需带有调色板信息,即便是单色图像也不例外;而在T环F图像中有三种情形能够不带有调色板信息,一是24位真彩色图像,二是单色图像,三是256色灰度图像。表描述了两种格式图像在调色板数据方面的不同。表TIFF格式与BMP格式的图像调色板比较TIFF格式图像BMP格式图像单色图像(2色)无有16色图像有有256色彩色图像有有256色灰度图像无有24位全彩色图像无无为了实现两种格式图像之间的顺利转换,专门是从TIFF图像到BMP图像,需要填充相应的调色板信息。通过观看咱们能够发觉要填充的调色板信息存在某种规律,关于单色图像,它所对应的调色板信息包括两种颜色,这两种颜色的RGB表示别离

31、为白(255,255,255)和黑(0,0,0)它将黑与白之间的灰度颜色分成了256个品级假定白(255,255,255)对应的品级为255,黑(0,0,0)对应的品级为0,那么关于0到255之间的任一个灰度品级k,能够用相应的RGB颜色(k,k,k)来表示。如此咱们就能够顺利地将TIFF图像文件转换成BMP文件,而反过来操作那么比较简单,只需要在处置单色图像和256色灰度图像时去除相应的调色板信息即可。由于两种图像格式的不同,提取数据和存储图像数据的操作是不同的,但在提掏出了图像的数据以后,所进行的任何图像处置操作就与图像原有的格式再也不相关,因此咱们在处置图像时设计了三个图像类:CTifT

32、mage、CbmpImage,Clmage,其中CTifImage专门用于TIFF格式图像的处置,CBmpImage专门用于BMF格式图像的处置,这两个类都继承于类Cimage,在CImage中包括了图像数据提取与存储的接口、图像处置的一些通用操作如剪切、缩放、旋转、二值化等等。如此所有特定格式图像数据提取与存储的细节将封装在相应的派生类中,关于利用图像类(Cimage)的用户来讲,只需要明白基类的接口就能够够了。通过这种设计,咱们还能够在不阻碍已有的数据结构的情形下实现其它格式图像的处置,因此具有专门好的扩展性。通过以上多种格式图像的处置,咱们将取得图像数据的矩阵表示,假定图像的宽度为W,图

33、像的高度为H,那么取得的矩阵能够用以下的二维数组来表示:PixelArrayx,y其中OvxvW八OvyvH由于在现实中取得的手势图像的色彩不一,有全彩色的,也有黑白的(即256色灰度图像,如身份证照片)0256色灰度图像能够专门好的保留手势图像的特点,为了便于咱们进行图像处置与分析,因此咱们将输入的手势图像统一转换为256色灰度图像。如此,获取的像素矩阵中任一像素的取值范围为(0255)在以下的步骤中,咱们处置的对象确实是那个二维的像素数组。通用的图像操作手势识别中的经常使用图像操作包括图像的剪切、图像的缩放、图像的旋转和图像的亮度调整。咱们以PixelArrayx,y来表示原有图像的二维像

34、素矩阵,原有图像的高度用H来表示,原有图像的宽度用W来表示,用PixelArrayNewx,y来表示结果图像的二维像素矩阵,结果图像的高度为HNew,宽度为Wnew。图像的剪切图像的剪切操作的函数原型为voidCimage:Clipimage(CReet&reet),需要输入的参数为要剪切的图像的具体的位置,即要剪切图像左上角的位置和右下角的位置。假定要剪切图像左上角位置为(left,top),右下角的位置为(right,bottom)那么咱们只需要调整图像的宽度为(right-left),调整图像的高度为(bottom-top),从图像的二维数组中提取左上角到右下角之间的数据。剪切后图像的数

35、据能够表示为:PixelArrayx,y其中leftvxvright八topyvbottom图像的缩放图像的缩放操作的函数原型为voidCimageCollapseOrExpandlmage(doubledbRatioX,doubledbRatioY)e输入的参数为图像水平方向需要缩放的尺度和图像垂直方向需要缩放的尺度。假定水平方向缩放的比例为a,垂直方向缩放的比例为b,那么,缩放后图像的高度为bH缩放后图像的宽度为aW,关于原有图像的任一点PixelArray(x,y),在缩放后对应的像素为:PixeIArrayi,jaxviva(x+l)“by=T时W当f(x,y)vT时g(x,y)是二值

36、图像,通常咱们用1来表示对象物(黑色区域),用0来表示背景区域(白色区域)。对闭值T的选择有多种方式,它决定着二值图像的质量。依照闭值T的选择方式,图像二值化可分为以下几种。p-参数法当预先明白对象物在图像中所占的面积比率时,将灰度直方图中面积比率为P%的点作为闭值,这种方式称为P一参数法(p-tilemethod)。但在实际中,己知对象所占的面积比率的状况超级少见,通常都是依照必然的规律推算出来例如在书画作品中,文字部份所占的面积比率一样情形下是能够估量出来这时用这种方式来处置时比较有效的。模式法当灰度直方图具有双峰性的时候,对象物和背景的灰度一样别离在两个山峰的周围,因此,可去山谷的中心点

37、为闭值,这种方式称为模式法(modemethod)。可是,实际情形中,灰度直方图不是很滑腻的,会存在一些因小的凹凸而产生的局部极小值,如此给自动判定造成专门大的不便。比较简单的方式是,先将灰度直方图进行滑腻处置,再进行阂值的选择,或是以选出的灰度为中心考查1k的两点,用此两点来判定选出的灰度值的点是不是极大值或极小值点。如此的处置方式会产生一些噪声,但对判定可不能造成大的阻碍。可变阀值法在不均匀的照明条件下所取得的灰度图像,采纳确信闭值进行二值化的时候,到不到期望的图像。在这种情形下,有两种解决方案,一种是当照明强度可用图像坐标的函数来表示是,被观测图像g(x,y)可用下式来描述:g(x,y)

38、=c(x,y)f(x,y)其中,f(x,y)是在均匀照明条件下的图像,c(x,y)是表示照明不均匀的程度系数。另一种方案是把图像分成假设干个子区域,在各个子区域中计算其灰度直方图。若是在子区域中同时存在背景和对象物,那么其灰度直方图呈双峰,这时可用模式法等进行二值化处置这种情形下,每一个子区域一样都不相同,这种二值化方式称为可变闭值法(variablethresholdselectionmethod)。MATLAB介绍MATLAB概述MATLAB,MatrixLaboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有壮大的矩阵运算能力。它集数值分析

39、、矩阵运算、信号处置和图形显示于一体,组成了一个界面友好的用户环境,在那个环境中,问题与求解都能方便地以数学的语言(主若是矩阵形式)或图形方式表达出来。与大伙儿经常使用的Fortran和C等高级语言相较,MTALAB的语法规那么更简单,更切近人的思维方式,被称为“草稿纸式的语言”。MATLAB最初作为矩阵实验室,要紧向用户提供一套超级完善的矩阵运算命令。随着数值运算的演变,它慢慢进展成为各类系统仿真、数字信号处置、科学可视化的通用标准语言。在科学研究和工程应用的进程中,往往需要大量的数学计算,传统的纸笔和运算机已经不能从全然上知足海量计算的要求,一些技术人员尝试利用Basic,Fortran,

40、C/C+等语言编写程序来减轻工作量。但编程不单单需要把握所用语言的语法,还需要对相关算法进行深切分析,这对大多数科学工作者而言有必然的难度。与这些语言相较,MATLAB的语法更简单,更切近人的思维方式。用MATLAB编写程序,犹如在一张演算纸上排列公式和求解问题一样高效率,因此被称为“科学便笺式”的科学工程计算语言。Matlab诞生于20世纪70年代,它的编写者是ClevelMoler博士和他的同事。那时,他们利用Fortran开发了两个子程序库ELSPACK和LINPACK。这两个程序库是要求解线性方程的程序库。可是,CleveMoler发觉学生利用这两个程序库有困难,要紧问题是因为接口程序

41、不行写,很花费时刻。于是,CleveMoler自己动手,在业余时刻里编写了ELSPACK和LINPACK的接口程序。CleveMoler给那个接口程序取名为MATLAB,意为矩阵(Matrix)和实验室(Laboratory)的组合。以后几年,MATLAB作为免费软件在大学里被普遍利用,深受大学生的喜爱。1983年早春,CleveModer到Stanford大学访问,作为工程师的JohnLittle受到了MATLAB的深深吸引,他灵敏地发觉到MATLAB在工程领域潜在的应用天地。同年,他和CleveModer、SteveBangert一路用C语言合作开发了第二代专业版MATLAB。从这一代起,

42、MATLAB的核心利用C语言来编写,而且在具有数值计算能力的基础上,具有了数据视图的功能。1984年,CleveMoler和JohnLittle成立了MathWorks公司,正式把MATLAB推向场,并继续进行MATLAB的开发。MathWorks公司1993年推出MATLAB,1995年推出MATLAB版(For),1997年推出,2000年9月发布了MATLAB7,2006年3月发布了MATLAB2006a,2006年9月发布了MATLAB2006b,2007年3月发布了最新的MATLABR2007。每一个新版本的推出都使MATLAB有了长足的进步一一界面愈来愈友好,内容愈来愈丰硕,功能愈

43、来愈壮大,帮忙系统愈来愈完善。MATLAB擅长数值计算,能处置大量的数据,而且效率比较高。MathWorks公司在此基础上增强了MATLAB的符号计算、文字处置、可视化建模和实时操纵能力,增强了MATLAB的市场竞争力,使MATLAB成为市场主流的数值计算软件。MATLAB产品族是支持从概念设计、算法开发、建仿照真到实时实现的理想的集成环境。不管进行科学研究仍是产品开发,MATLAB产品族都是必不可少的工具。在现今30多个数学类科技应用软件中,就软件数学处置的原始内核而言,可分为两大类。一类是数值计算型软件,如MATLAB、Xmath、Gauss等,这种软件擅长数值计算,对处置大量数据效率高;

44、另一类是数学分析型软件,如MathematicalMaple等,这种软件以符号计算见长,能给出解析解和任意精度解,其缺点是处置大量数据时效率较低。MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算、文字处置、可视化建模和实时操纵能力,开发了适合多学科、多部门要求的新一代科技应用软件MATLAB。通过量年的国际竞争,MATLAB已经占据了数值型软件市场的主导地位。在MATLAB进入市场前,国际上的许多应用软件包都是直接以FORTRAN和C语言等编程语言开发的。这种软件的缺点是利用面窄、接口简陋、程序结构不开放和没有标准的基库,很难适

45、应各学科的最新进展,因此很难推行。MATLAB的显现,为各国科学家开发学科软件提供了新的基础。在MATLAB问世不久的20世纪80年代中期,原先操纵领域里的一些软件包纷纷被淘汰或在MATLAB上重建。MATLAB的功能MATLAB的核心是一个基于矩阵运算的快速说明程序,它交互式地同意用户输入的各项命令,输出计算结果。MATLAB提供了一个开放式的集成环境,用户能够运行系统提供的大量命令,包括数值计算、图形绘制和代码编制等。具体来讲,MATLAB具有以下功能。(1)数据可视化功能(2)矩阵运算功能。(3)大量的工具箱。(4)画图功能。(5)GUI设计。(6)Simulink仿真。进入MATLAB

46、以后,会看到一个MATLABCommandWindow,称为命令窗,它是最要紧的窗口,既是键入命令也是显示计算结果的地址。另外还有一个编程窗,专门用来编辑应用程序。还有一个主窗口,用来记录已利用过的历史命令和已打开的目录,方便利用者查找。若是画图还会自动弹出一个画图窗,专门用来显示绘制的图形。MATLAB一样有3种进行计算的方式,第1种就犹如利用计算器,直接输入数值和运算符,当即从屏幕上取得结果。第2种先对变量赋值,然后再输入由变量组成的表达式,也可当即取得结果。第3种,确实是采纳编程的方式来解决较复杂的,诸如含有判定、循环、迭代、递归等算法的较复杂的问题。上述方式中,第2和第3包括了数组和矩

47、阵运算,只要概念了数组和矩阵变量,就能够够犹如一般代数运算一样直接用变量进行数学运算,十分方便。MATLAB语言特点(1)编程效率高MATLAB是一种面向科学与工程计算的高级语言,许诺用数学形式的语言来编写程序,比BASIC、FORTRAN和C等语言加倍接近人书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列出公式与求解问题一样。因此,MATLAB语言也能够通俗地称为“演算纸”式科学算法语言,正是由于它编写简单,因此编程效率高,易学易懂。(2)用户利用方便MATLAB语言是一种说明执行的语言,它灵活、方便,调试手腕丰硕,调试速度快。人们用任何一种语言编写程序和调试程序一样都要通过

48、4个步骤:编辑、编译、连接,和执行和调试。各个步骤之间是顺序关系,编程的进程确实是在它们之间做瀑布型的循环。MATLAB语言与其他语言相较,把编辑、编译、连接和执行融为一体。它能在同一界面上进行灵活操作,快速排除输入程序中的书写错误、语法错误,乃至语义错误,从而加速了开发者编写、修改和调试程序的速度,能够说,在编程和调试进程中它是一种比VisualBaisc还要简单的语言。具体地说,在运行MATLAB时,若是直接在命令行输入MATLAB语句(命令),包括挪用M文件的语句,每输入一条语句,就会当即对其进行处置,完成编译、连接和运行的全进程。又如,将MATLAB源程序编辑为M文件时,由于MATLA

49、B磁盘文件也是M文件,因此编辑后的源文件就可直接运行,而不需要进行编译和连接。在运行M文件时,若是有错误,运算机屏幕上就会给出详细的犯错信息,使它通过修改后再执行,直到正确为止。因此,MATLAB语言不仅是一种语言,广义上更能够称为一种语言开发系统、语言调试系统。(3)扩充能力强,交互性好高版本的MATLAB语言拥有丰硕的库函数,在进行复杂的数学运算时能够直接挪用,而且MATLAB的库函数同用户文件在形成上一样,因此用户文件也能够作为MATLAB的库函数被挪用。因此,开发者能够依照自己的需要方便地成立和扩充新的库函数,以便提高MATLAB的利用效率和扩充它的功能。另外,为了充分利用FORTRA

50、N语言中方便地利用MATLAB的数值计算功能,这些良好的交互性使程序员能够利用以前编写过的程序,减少重复性工作,也使编写的程序具有可重复利用的价值。(4)移植性和开放性好MATLAB是用C语言编写的,而C语言的可移植性专门好。于是,MATLAB能够很方便地被移植到能运行C语言的操作平台上。MATLAB适合的工作平台有Windows系列、UNIX、Linux、VMS和PowerMac。除内部函数外,MATLAB所有的核心文件和工具箱文件都是公布的,都是可读可写的源文件,用户能够通过对源文件的修改和自己编程组成新的工具箱。(5)语句简单,内涵丰硕MATLAB语言中最大体最重要的成份是函数,其一样形

51、式为a,b,c.=fun(d,e,f,.),即一个函数由函数名、输入变量Qe,f,.”和输出变量“a,b,c,.J组成。同一个函数名、不同数量的输入变量及不同数量的输出变量,代表着不同的含义。这不仅使MATLAB的库函数功能更丰硕,而且大大减小了所需要的磁盘空间,使得用MATLAB编写的M文件简单、短小而高效。(6)高效方便的矩阵和数组运算MATLAB语言像BASIC、FORTRAN和C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部份能够原封不动地照搬到数组间的运算中,有些运算符只要增加“.”就可用于数组间的运算。另外,它不需要概念数组的维数

52、,只需要给出矩阵的函数、特殊矩阵专门的库函数,使之在求解诸如信号处置、建模、系统识别、操纵、优化等领域的问题时,显得加倍简捷、高效,这是其他高级语言所不能比拟的。在此基础上,高版本的MATLAB已慢慢扩展到科学及工程计算的其他领域。因此,不久的以后,它必然能名不虚传地成为“全能演算纸”式的科学算法语言。(7)方便的画图功能MATLAB的画图功能是十份方便的,它有一系列画图函数,如线性坐标、对数坐标、半对数坐标及极坐标。利历时均只需要挪用不同的画图函数,在图上标出图题、XY轴标注,格(栅)绘制也只需要挪用相应的命令,简单易行。另外,在挪用画图函数时能够通过调整自变量给出不变颜色的点、线、复线或多

53、重线。这种为科学研究着想的设计是其他通用的编程语言所不及的。MATLAB语言的优势(1)友好的工作平台和编程环境MATLAB由一系列工具组成。这些工具方便用户利用MATLAB的函数和文件,其中许多工具采纳的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、途径搜索和用于用户阅读帮忙、工作空间、文件的阅读器。随着MATLAB的商业化和软件本身的不断升级,MATLAB的用户界面也愈来愈精致,加倍接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮忙系统,极大的方便了用户的利用。简单的编程环境提供了比较完备的调试系统,

54、程序没必要通过编译就能够够直接运行,而且能够及时地报告显现的错误及进行犯错缘故分析。(2)简单易用的程序语言Matlab一个高级的矩阵/阵列语言,它包括操纵语句、函数、数据结构、输入和输出和面向对象编程特点。用户能够在命令窗口中将输入语句与执行命令同步,也能够先编写好一个较大的复杂的应用程序(M文件)后再一路运行。新版本的MATLAB语言是基于最为流行的C+语言基础上的,因此语法特点与C+语言极为相似,而且加倍简单,加倍符合科技人员对数学表达式的书写格式。使之更利于非运算机专业的科技人员利用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深切到科学研究及工程计算各个领域的重要缘故

55、。(3)壮大的科学运算机数据处置能力MATLAB是一个包括大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,能够方便的实现用户所需的各类计算功能。函数中所利用的算法都是科研和工程计算中的最新研究功效,而前通过了各类优化和容错处置。在通常情形下,能够用它来代替底层编程语言,如C和C+。在计算要求相同的情形下,利用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最大体的函数到诸如矩阵,特点向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题

56、、稀疏矩阵运算、复数的各类运算、三角函数和其他初等数学运算、多维数组操作和建模动态仿真等。(4)超卓的图形处置功能图形处置功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,而且能够对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处置、动画和表达式作图。可用于科学计算和工程画图。新版本的MATLAB对整个图形处置功能作了专门大的改良和完善,使它不仅在一样数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处置等)方面加倍完善,而且关于一些其他软件所没有的功能(例如图形的光照处置、色度处置和四维数据的表现等),MATLAB一样表现了超卓的处置

57、能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了专门大的改善,对这方面有特殊要求的用户也能够取得知足。(5)应用普遍的模块集合工具箱MATLAB对许多专门的领域都开发了功能壮大的模块集和工具箱。一样来讲,它们都是由特定领域的专家开发的,用户能够直接利用工具箱学习、应用和评估不同的方式而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据搜集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处置

58、、图像处置、系统辨识、操纵系统设计、LMI操纵、鲁棒操纵、模型预测、模糊逻辑、金融分析、地图工具、非线性操纵设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通信、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。(6)有效的程序接口和发布平台新版本的MATLAB能够利用MATLAB编译器和C/C+数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C+代码。许诺用户编写能够和MATLAB进行交互的C或C+语言程序。另外,MATLAB网页效劳程序还允许在Web应用中利用自己的MATLAB数学和图形程序。MATLAB的一个重要特色确实

59、是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,要紧包括信号处置、操纵系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。MATLAB数组与矩阵MATLAB特擅长数组(array)及矩阵(matrix)运算,而这二者大体运算的性质完全不同,数组强调元素对元素的运算,而矩阵那么采纳线性代数的运算方式。数组多由一维元素组成,而矩阵中多维元素组成。经常使用如此的语句来成立一维数组:x=起始值:步长:终止值,例如x=0:l那么能够生成从0开始,每次递增,一直到1的11个数组成的一维数组x。一样也能够用l

60、inspace(起始值,终止值,等分数)命令,例如运行x=linspace(0,l,50),那么能够生成从0到1,等分成50等份的51个数组成的一维数组X。假设不给出等分数,那么自动进行100等分处置。MATLAB函数MATLAB之因此运算功能壮大,重要缘故之一确实是它含有丰硕的内建函数,例如数学函数中的三角函数、复函数、多项式函数、数据分析函数的求平均值、最大最小值、排序等,和逻辑/选择函数如ifelse等,还有效来模拟随机发生事件的随机函数。尽管MATLAB提供了数百种内建函数,但也不是一应俱全,为了解决那个问题,MATLAB提供了十分方便的自概念函数(自建函数)的壮大功能。(1)常见数学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论