




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
可编辑版/可编辑版基于Matlab的人脸识别课程设计题目:基于MATLAB的人脸识别院系:信息工程学院专业:电子信息工程姓名:黄军红学号:2指导老师:何江萍摘要人脸识别因其在安全验证系统、信用卡验证、医学、档案管理、视频会议、人机交互、系统公安<罪犯识别等>等方面的巨大应用前景而越来越成为当前模式识别和人工智能领域的一个研究热点。本文提出了基于24位彩色图像对人脸进行识别的方法,介绍的主要内容是图像处理,它在整个软件中占有极其重要的地位,图像处理的好坏直接影响着定位和识别的准确率。本软件主要用到的图像处理技术是:光线补偿、高斯平滑和二值化。在识别前,先对图像进行补光处理,再通过肤色获得可能的脸部区域,最后根据人脸固有眼睛的对称性来确定是否就是人脸,同时采用高斯平滑来消除图像的噪声,再进行二值化,二值化主要采用局域取阈值方法,接下来就进行定位、提取特征值和识别等操作。经过测试,图像预处理模块对图像的处理达到了较好的效果,提高了定位和识别的正确率。[关键字]:人脸识别;光线补偿;高斯平滑;对比度增强AbstractFacerecognitionisacomplexanddifficultproblemthatisimportantforsurveillanceandsecurity,telecommunications,digitallibraries,videomeeting,andhuman-computerintelligentinteractions.Thepaperintroducedthemethodoffacerecognitionthatbasedonthe24bitmulticolorimage,Maincontentthatthepaperintroducedisthepicturetreatment,Itoccupiestheextremelyimportantpositioninthewholesoftware,thequalityofpictureprocessdirectlyinfluencedtheaccuracyrateoflocalizationanddiscerning.Thepictureprocesstechnologythatthesoftwaremainlyusedincluded:lightcompensating、gausssmoothandtwainvaluemethod.beforediscerning,wecompensatedthelightforimage,thenwecouldobtainthepossiblefaceareathroughthecomplexion,finally,thesystemcoulddependonthesymmetryofeyestomakesurewhetheritisthefaceofpeople,atthesametime,thesystemcouldeliminatenoisesthroughthemethodthatnamedgausssmoothness,thenweusedtwainvaluemethodtodealwithpicture,themethodgotthethresholdvalueinfacearea.Afterdealingwithpicture,thefollowingoperationsarelocalization、drawcharacteristicvalue、discerningandsoon.Aftertesting,wemadetruethatthepicturepretreatmentmodalhasgetthebettereffectintheprocessofdealingwithpicture,andimprovetheexactnessrateoflocalizationanddiscerning.[keyword]:Facerecognition;lightcompensating;gausssmooth;contrastenhancing目录一、绪论11.背景12.人脸识别技术研究的意义13.发展史21>国外的发展22>国内的发展3二、系统的需求分析和方案选择31.可行性分析31>技术可行性32>操作可行性42.需求分析43.预处理法案选择51>设计方案的原则选择52>图像文件格式选择53>开发工具选择54>算法选择分析6三、系统概要设计7四、系统详细设计91.系统整体设计流程图92.图像处理详细设计103.编程时的问题解决19五、测试201.测试方案的选择原则212.测试方案21结束语23参考文献24绪论背景随着安全入口控制和金融贸易方面应用需要的快速增长,生物统计识别技术得到了新的重视。目前,微电子和视觉系统方面取得的新进展,使该领域中高性能自动识别技术的实现代价降低到了可以接受的程度。而人脸识别是所有的生物识别方法中应用最广泛的技术之一,人脸识别技术是一项近年来兴起的,但不大为人所知的新技术。人们更多的是在电影中看到这种技术的神奇应用:警察将偷拍到的嫌疑犯的脸部照片,输入到电脑中,与警方数据库中的资料进行比对,并找出该嫌犯的详细资料和犯罪记录。这并非虚构的情节。在国外,人脸识别技术早已被大量使用在国家重要部门以及军警等安防部门。在国内,对于人脸识别技术的研究始于上世纪90年代,目前主要应用在公安、金融、网络安全、物业管理以及考勤等领域。人脸识别技术研究的意义富有挑战性的课题面部关键特征定位及人脸2D形状检测技术面部感知系统的重要内容视频输入视频输入人脸检测和跟踪面部特征定位人脸识别表情分析性别判断种族判断年龄判别唇读身份信息情感状态性别信息种族信息年龄信息唇形类别发展史国外的发展见诸文献的机器自动人脸识别研究开始于1966年PRI的Bledsoe的工作,1990年日本研制的人像识别机,可在1秒钟内中从3500人中识别到你要找的人。1993年,美国国防部高级研究项目署<AdvancedResearchProjectsAgency>和美国陆军研究实验室<ArmyResearchLaboratory>成立了Feret<FaceRecognitionTechnology>项目组,建立了feret人脸数据库,用于评价人脸识别算法的性能。美国陆军实验室也是利用vc++开发,通过软件实现的,并且FAR为49%。在美国的进行的公开测试中,FAR,为53%。美国国防部高级研究项目署,利用半自动和全自动算法。这种算法需要人工或自动指出图像中人的两眼的中心坐标,然后进行识别。在机场开展的测试中,系统发出的错误警报太多,国外的一些高校〔卡内基梅隆大学〔CarnegieMellonUniversity为首,麻省理工大学〔MassachusettsInstituteofTechnology等,英国的雷丁大学〔UniversityofReading和公司〔Visionics公司Facelt人脸识别系统、Viiage的FaceFINDER身份验证系统、LauTech公司Hunter系统、德国的BioID系统等的工程研究工作也主要放在公安、刑事方面,在考试验证系统的实现方面深入研究并不多。国内的发展人脸识别系统现在在大多数领域中起到举足轻重的作用,尤其是用在机关单位的安全和考勤、网络安全、银行、海关边检、物业管理、军队安全、智能身份证、智能门禁、司机驾照验证、计算机登录系统。我国在这方面也取得了较好的成就,国家863项目"面像检测与识别核心技术"通过成果鉴定并初步应用,就标志着我国在人脸识别这一当今热点科研领域掌握了一定的核心技术。北京科瑞奇技术开发股份有限公司在20XX开发了一种人脸鉴别系统,对人脸图像进行处理,消除了照相机的影响,再对图像进行特征提取和识别。这对于人脸鉴别特别有价值,因为人脸鉴别通常使用正面照,要鉴别的人脸图像是不同时期拍摄的,使用的照相机不一样。系统可以接受时间间隔较长的照片,并能达到较高的识别率,在计算机中库藏2300人的正面照片,每人一张照片,使用相距1--7年、差别比较大的照片去查询,首选率可以达到50%,前20张输出照片中包含有与输入照片为同一人的照片的概率可达70%。2005年1月18日,由清华大学电子系人脸识别课题组负责人苏光大教授主持承担的国家"十五"攻关项目《人脸识别系统》通过了由公安部主持的专家鉴定。鉴定委员会认为,该项技术处于国内领先水平和国际先进水平。系统的需求分析和方案选择在开发该人脸识别软件之前,我们查询了前人所写过的诸多论文以及源程序,在开发之时,结合了资料中的算法并揉进了自己的一些思想,使程序可以对人脸图片进行简易识别。可行性分析技术可行性图像的处理方法很多,我们可以根据需要,有选择地使用各种方法。在确定脸部区域上,通常使用的方法有肤色提取。肤色提取,则对脸部区域的获取则比较准确,成功率达到95%以上,并且速度快,减少很多工作。图像的亮度变化,由于图像的亮度在不同环境的当中,必然受到不同光线的影响,图像就变得太暗或太亮,我们就要对它的亮度进行调整,主要采取的措施是对图像进行光线补偿。高斯平滑:在图像的采集过程中,由于各种因素的影响,图像中往往会出现一些不规则的随机噪声,如数据在传输、存储时发生的数据丢失和损坏等,这些都会影响图像的质量,因此需要将图片进行平滑操作以此来消除噪声。灰度变换:进行灰度处理,我们要保证图像信息尽可能少的丢失。同样在进行灰度变换前,我们也要对图像的信息进行统计,找出一个比较合理的灰度值,才能进行灰度变换。灰度均衡:灰度变换后,就要进行灰度均衡,可以根据灰度分布来进行灰度均衡。对比度增强:将所要处理的区域和周围图像区域进一步拉开他们的对比度,使它们更加明显,主要通过像素的聚集来实现。操作可行性该人脸识别软件需要如下的运行环境:CPU:500M及以上;内存:64M及以上。安装有Windows98、WindowsMe、Windows2000、WindowsNT等操作系统中的其中一种。另还装有摄像头可进行随机拍照和识别。因此,从操作可行性来看,只要系统用户的硬件软件设备满足以上条件,即可用该人脸识别软件进行人脸的识别。需求分析应用程序的功能需求分析该软件最主要的功能就是要能识别出人脸,首先该系统需要对通过摄像头拍照而获取到的原始的人脸图片进行一系列处理才可进行下一步的工作,该处理过程也称图像预处理。预处理这个模块在整个人脸识别系统的开发过程中占有很重要的地位,只有预处理模块做的好,才可能很好的完成后面的人脸定位和特征提取这两大关键模块。因此本设计中所要完成的主要功能如下所述:图像获取功能:该模块主要是从摄像头拍照后进行获取图片,也可以从图片库中获取,获取后的图片可以在软件的界面中显示出来以便进行识别。图像预处理功能:该模块主要包括图像光线补偿、图像变成灰色、高斯平滑、均衡直方图、实现图像对比度增强、二值化变换等。人脸定位功能:该模块主要是将处理后的人脸图片进行定位,将眼睛、鼻子、嘴巴标记出来,以便进行特征提取。特征提取功能:该模块是在定位后的人脸图片中将眼睛、鼻子、嘴巴的特征值提取出来。识别功能:该模块是将从图片中提取的特征值和后台数据库中的值进行比较来完成识别功能。预处理法案选择设计方案的原则选择本应用程序的设计方案原则如下:采用较为先进的技术力量,保证应用程序在技术上具备一定的优势。采用成熟的技术,保证应用程序的安全性和可靠性。应用程序便于扩展和维护,易于技术的更新。应用程序充分利用现有的资源,尽量减少不必要的再投资。编写的代码必须严谨易读,代码的解释必须清楚明白,为应用程序的再开发提供应尽的责任。图像文件格式选择在设计的过程中,为了定位和特征提取的方便,我们采用的是24位位图。开发工具选择Matlab2012b算法选择分析本文主要研究的对象是图像预处理模块,该模块分为光线补偿、图像灰度化、高斯平滑、图像对比度增强、均衡直方图,每个小模块的实现都有许多相应的算法。下面将本系统采用的算法进行介绍:·光线补偿:由于光线原因,所照的图像可能会存在光线不平衡的情况而造成色彩偏差,为了抵消这种整个图像中存在的色彩偏差,本系统采用的解决方法是:将整个图像中的所有像素的亮度从高到低进行排列,取前5%的像素,然后线性放大,使这些像素的平均亮度达到255。实际上就是调整图片像素的RGB值。·图像灰度化:图像灰度化是将图像变成灰色,本系统中采用以下步骤来实现图像的灰度化:彩色转换成灰度、灰度比例变换、灰度线性变换、灰度线性截断、灰度取反。·高斯平滑:在图像的采集过程中,由于各种因素的影响,图像中往往会出现一些不规则的随机噪声,如数据在传输、存储时发生的数据丢失和损坏等,这些都会影响图像的质量,因此需要将图片进行平滑操作以此来消除噪声。但是如果平滑不当,就会使图像本身的细节如边界轮廓、线条等变的模糊不清,为了既平滑掉噪声有尽量保持图像细节,本系统采用高斯平滑。·均衡直方图:使用该模块的目的是通过点运算使输入转换为在每一灰度级上都有相同的像素点数的输出图像。它的实现主要是利用灰度均衡的转换式DB=f〔DA=H〔udu。〔式1·图像对比度增强:为了将图像的特征一步一步显现出来,需要进行图像的对比度增强,它主要通过对图像的灰度值进行统计,对于小于Low则认为是有关的信息,则将它作为黑色处理,对于处于High以上的则认为是一些无关的信息,将它们去掉,而处于两者之间的,则进行对比度增强,将他们在总的灰度值里面的比例作为新的像素信息保存起来。系统概要设计各模块功能概述以上是该系统的总体结构设计图以及图像预处理模块的层次图。下面介绍系统中的各模块的功能及算法:图像获取模块该模块主要是从摄像头拍照后进行获取图片,也可以从图片库中获取,获取后的图片可以在软件的界面中显示出来以便进行识别。人脸区域获取该系统中图像里人脸区域的获取,主要是根据肤色来进行获取,通过肤色非线形分段色彩变换来实现。这一非线性分段色彩变换得到的肤色模型属于色彩空间中的聚类模型,这一类肤色模型的建立首先要选取一种合适的色彩空间。图像预处理模块图像预处理就是对获取得来的图像进行适当的处理,使它具有的特征能够在图像中明显的表现出来。该模块中的子模块有如下5个,下面对它们进行概述:·光线补偿[3]因为系统得到的图片可能会存在光线不平衡的情况,这会影响我们对特征的提取,同时系统中要用到YcrCB色彩空间,所以有必要对图像进行光线补偿。尽可能将它的特征在图像中表现出来。YcrCB是一种色彩空间,它用于视频系统中,在该色彩空间中,Y分量表示像素的亮度,Cr表示红色分量,Cb表示蓝色分量,通常把Cr和Cb称为色度。YcrCB色彩空间是以演播室质量标准为目标的CC601编码方案中采用的彩色表示模型。·灰度变化[4]图像灰度化的过程就是把彩色图像转换为黑白色图像的过程,它也是为了将图像的信息更加具体、简单的表现出来,但是,这样做也将会丢失图像信息。因此,尽可能在转化的过程中用简单的方式表现图像复杂的信息。·高斯平滑处理[5]高斯平滑将对图像进行平滑处理,在图像采集过程中,由于各种因素的影响,图像往往会出现一些不规则的噪声,入图像在传输、存储等都有可能产生数据的丢失。从而影响图像的质量。处理噪声的过程称为平滑。平滑可以降低图像的视觉噪声,同时出去图像中的高频部分后,那些本来不明显的低频成分更容易识别。平滑可以通过卷积来实现。经过卷积平滑后的水平投影后,二值化提供了较好的图像效果。·对比度增强[6]对比度增强,就是对图像的进一步处理,将对比度再一次拉开。它针对原始图像的每一个像素直接对其灰度进行处理的,其处理过程主要是通过增强函数对像素的灰度级进行运算并将运算结果作为该像素的新灰度值来实现的。通过改变选用的增强函数的解析表达式就可以得到不同的处理效果。·二值化[7]二值化的目的是将采集获得的多层次灰度图像处理成二值图像,以便于分析理解和识别并减少计算量。二值化就是通过一些算法,通过一个阈值改变图像中的像素颜色,令整幅图像画面内仅有黑白二值,该图像一般由黑色区域和白色区域组成,可以用一个比特表示一个像素,"1"表示黑色,"0"表示白色,当然也可以倒过来表示,这种图像称之为二值图像。这便有利于我们对特征的提取。该设计中采用组内方差和组外方差来实现二值化。·直方图均衡[8]直方图均衡化的目的是使一输入图像转换为在每一灰度级上都有相同的象素点数,它的处理的中心思想是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布,它的研究思路是:通过直方图变换式来进行直方图的均衡处理,直方图变换式是但是直方图均衡化存在着两个缺点:
变换后图像的灰度级减少,某些细节消失;
某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。人脸定位模块人脸定位是将典型的脸部特征〔如眼睛,鼻尖,嘴唇等等标记出来,在本系统中,定位的特征是眼睛,鼻尖和嘴巴三个。由于眼睛具有对称性,因此可以很快就能标记出来,而鼻子是在眼睛下面,且嘴巴在鼻子下面,所以只要眼睛标记好,鼻子和嘴巴也能相应的标记出来。特征提取模块特征提取按以下4个步骤进行:提取两只眼睛的距离眼睛的倾角度眼睛、嘴巴的重心用一个矩形标出每一个特征在特征提取完之后将会得到相应的特征值以便存入后台数据库。识别模块该模块通过与库存中的特征向量进行比较,找出与特征最相近的参数,再对该参数进一步分析。如果分析在我们所确认的范围内,我们就认为该人就是我们所要找的。然后从库存中提取出该人相关的信息,并显示出来。如果库存中没有,则给出提示是否对存库作为样本。系统详细设计系统整体设计流程图11、启动本系统,进入人脸识别系统界面。2、点击摄像键,然后进行拍照,并将图像显示并保存。1、对图片进行光线补偿、将图片变成灰色、实现图片对比度增强,二值化变换等一系列预处理。2、将处理好的人脸图片进行定位,标出眼睛、鼻尖和嘴巴。3、对定位好的人脸图片进行特征提取操作。1、识别出图片上的人。2、结束退出输出输入输入图像处理详细设计图像点运算是一种既简单又重要的技术,它能让用户改变图像数据占据的灰度范围,一幅输入图像经过点运算后将产生一幅新的输出图像,由输入像素点的灰度值决定相应的输出像素点的灰度值,点运算与局部运算的差别在于:后者每个输出像素的灰度值由对应输入像素的一个领域内几个像素的灰度值决定。所以,点运算不可以改变图像内的空间关系。点运算可以按照预定的方式改变一幅图的灰度直方图。除了灰度级的改变是根据某种特定的灰度变换函数进行之外,点运算可以看作是"从像素到像素"的复制操作。如果输入图像为A〔x,y,输出图像为B〔x,y,则点运算可表示为:B〔x,y=f[A〔x,y]〔式2其中函数f〔D被称为灰度变换〔GrayScaleTransformation,GST函数,它描述了输入灰度值和输出灰度值之间的转换关系,一旦灰度变换函数确定,该点运算就完全被确定下来了。点运算有时又称为对比度增强、对比度拉伸或灰度变换,它是图像数字化软件和图像显示软件的重要组成部分。下面将对本设计解决各图像点处理模块运用进行到的理论和编程实现进行详细讲述。光线补偿〔1算法思想:光线补偿的想法的提出主要是考虑到肤色等色彩信息经常受到光源颜色、图像采集设备的色彩偏差等因素的影响,而在整体上偏离本质色彩而向某一方向移动,即我们通常所说的色彩偏冷、偏暖、照片偏黄、便蓝等等。这种现象在艺术照片中更为常见。所以AnilK.Jain等提出,为了抵消这种整个图像中存在着的色彩偏差,我们将整个图像中所有像素亮度〔是经过了非线形r-校正后的亮度从高到低进行排列,取前5%的像素,如果这些像素的数目足够多〔例如,大于100,我们就将它们的亮度作为"参考白"〔ReferenceWhite,也即将它们的色彩的R、G、B分量值都调整为255。整幅图像的其他像素点的色彩值也都按这一调整尺度进行交换。〔2具体实现光线补偿功能:明白了光线补偿这功能的算法及思想,就可以编码实现其功能了,实现过程如下:①、编辑菜单IDR_MAINFRAM,先在其中添加一菜单项,将其命名为"预处理",并在其属性栏中将其设为"弹出"菜单,点击预处理该菜单项将会弹出一个新的子菜单,此时把该子菜单命名为"光线补偿",并把其ID设为ID_READY_LIGHTINGCONPENSATE,对应文件FaceDetectView.Cpp中的函数ReadyLightingconpensate<>实现,并在voidCFaceDetectView::OnReadyLightingconpensate<>中添加如下代码:hDIBTemp=gDib.CopyHandle<hDIB>;gDib.LightingCompensate<hDIB>;GlobalUnlock<hDIB>;Invalidate<>;光线补偿功能实质上是用上段代码中的LightingCompensate〔函数来进行实现。函数LightingCompensate〔是类DIB的一个成员函数。其核心代码如下所述: //下面的循环对图像进行光线补偿for<i=0;i<height;i++> for<intj=0;j<width;j++> { //获取像素偏移 lOffset=this->PixelOffset<i,j,wBytesPerLine>; //得到蓝色分量 *<lpData+lOffset>=colorb; //绿色分量 colorb=*<lpData+lOffset+1>; colorb*=co; if<colorb>255> colorb=255; *<lpData+lOffset+1>=colorb; //红色分量 colorb=*<lpData+lOffset+2>; colorb*=co; if<colorb>255> colorb=255; *<lpData+lOffset+2>=colorb;}②光线补偿的效果图如下所示:图4-1原图图4-2光线补偿效果图2、图像灰度化〔1算法思想①彩色转换成灰度将彩色图像转化为灰阶图像常采用如下的经验式:gray=0.39×R+0.50×G+0.11×B〔式3其中,gray为灰度值,R、G、B分别为红色、绿色和蓝色分量值。②灰度比例变换灰度比例变换是把原像素的灰度乘以一个缩放因子,并最后截至[0,255]。③灰度线性变换当图像由于成像时曝光不足或曝光过度,会产生对比度不足的弊病,从而使图像中的细节分辨不清。将图像灰度进行线性扩展,常能显著地改善图像的外观。灰度线性变换的计算式为:g=〔式4f,其他式中,f是原像素的灰度,g为变换后的灰度。该变换把属于[a,b]的灰度级变换至灰度区间[c,d],而没有在[a,b]区间的原像素灰度将保持不变。这里a,b,c,d,f,g均为[0,255]之间的整数值。可见,a被映射为c,b被映射为d。④灰度线性截断灰度线性截断的思想是:如果原像素的灰度小于a,则该像素的灰度等于c;如果原像素的灰度大于b,则该像素的灰度等于d。〔2具体实现灰度化功能在明白了灰度化的原理之后,就可进行编码来实现该功能。①编辑菜单IDR_MAINFRAM,先在其中添加一菜单项,将其命名为"图像灰度化",并将其ID号设为ID_READY_SCALE,对应文件FaceDetectView.Cpp中的函数ReadyLightingconpensate<>实现.②现该模块的核心代码如下:获取蓝色分量ColorB=*<lpData+lOffset>;获取绿色分量 ColorG=*<lpData+lOffset+1>;获取红色分量 ColorR=*<lpData+lOffset+2>;计算灰度值 gray=<ColorG*50+ColorR*39+ColorB*11>/100; 显示灰度图像 *<lpData+lOffset>=gray; *<lpData+lOffset+1>=gray; *<lpData+lOffset+2>=gray;其中lpData是图片数据区,lOffset是图片像素的偏移,gray是图像的灰度值③图像灰度化效果图:图4-3图像灰度化效果图3、高斯平滑〔1算法思想在介绍高斯平滑前,先介绍模板操作。模板操作是数字图像处理中经常用到的一种运算方法,图像的平滑、锐化以及细化、边缘检测都要用到模板操作通常的处理是:将中心点周围八个点的像素值乘于各自矩阵相应的系数后相加得到一个值,然后将这个值乘上中心点的系数,中心点的像素值赋为得到的最后值。一般来说,不同的噪声有各自针对性的卷积算法。本文使用的卷积算法是高斯卷积核,亦即上面卷积核的LP3。高斯卷积是通过采样2维高斯函数得到的。高斯平滑算法的优点是平滑后图像的失真少,算法更具备通用性,能去除不同的噪声干扰。需要注意的是:在平滑处理时,图像边界点无法处理,因此循环范围应设定在图像边界内。〔2具体实现高斯平滑功能知道高斯平滑原理之后,可进行编码将其实现:编辑菜单IDR_MAINFRAM,在菜单"预处理"中添加一子菜单项,命名为"高斯平滑"并将其ID设为ID_READY_Template。在类CFaceDetectView中添加"高斯平滑"菜单项的事件处理程序,其代码如下://进行模板操作Template<tem,3,3,xishu>;Invalidate<TRUE>;其中tem是模板参数,xishu是模板系数;Template〔函数是实现高斯平滑的主要函数,其核心代码是:for<m=i-<<tem_h-1>/2>;m<=i+<<tem_h-1>/2>;m++>{ for<n=j-<<tem_w-1>/2>;n<=j+<<tem_w-1>/2>;n++>注:将以点〔i,j为中心,与模板大小相同的范围内的象素与模板对用位置的系数进行相乘并线形叠加sum+=Gray[m][n]*tem[<m-i+<<tem_h-1>/2>>*tem_w+n-j+<<tem_w-1>/2>];} 将结果乘上总的模板系数sum=<int>sum*xishu; 计算绝对值sum=fabs<sum>; 如果小于0,强制赋值为0if<sum<0>sum=0; 如果大于255,强制赋值为255if<sum>255>sum=255;HeightTemplate[i][j]=sum;高斯平滑效果图:见下图4-4图4-4高斯平滑效果图灰度均衡〔1算法思想灰度均衡也称直方图均衡,目的是通过点运算使输入转换为在每一灰度级上都有相同的像素点数的输出图像〔即输出的直方图是平的。这对于在进行图像比较或分割之前将图像转化为一级的格式是十分有效的。按照图像的概率密度函数〔PDF,归一化带单位面积的直方图的定义:P〔x=*H〔x〔式5其中H〔x为直方图,A0为图像的面积,设转换前图像的概率密度函数为 Pr〔r,转换后图像的概率密度函数为Ps〔S,转换函数为s=f〔r,由概率论知识,我们可以得到:Ps〔S=Pr〔r*〔式6这样,如果想使转换后图像的概率密度函数为1〔即直方图是平的则必须满足:Pr〔r=〔式4-5等式两边积分,得:S=f〔r=P2〔udu=H〔udu<式7>该转换式被称为图像的累积分布函数上面的式是被归一化后推导的对于没有归一化的情况,只要求以最大的灰度值〔DMax,对于灰度图就是255即可,灰度均衡的转换式为:DB=f〔DA=H〔udu〔式1对于离散图像转换式为:DB=f〔DA=〔式8式中Hi为第i级灰度的像素个数。〔2编程实现在灰度均衡操作同样不需要改变DIB的调色板和文件夹,只要把指向DIB像素起始位置的指针和DIB高度、宽度信息传递给子函数就可以完成灰度均衡变换工作,其核心代码如下:*<lpData+lOffset>=state;//显示灰度均衡*<lpData+lOffset+1>=state;*<lpData+lOffset+2>=state;〔3效果图图4-5灰度均衡效果图图像对比度增强算法思想:在对图像均衡直方图处理以后,便可对图像进行对比度增强,进一步拉开对比度。它通过对图像的灰度值进行统计,对于比最小设定值小的则认为是有关的信息,则将它作为黑色处理,比最大设定值大的则认为是一些无关的信息,将它们去掉,而处于两者之间的,则进行对比度增强,将他们在总的灰度值里面的比例作为新的像素信息保存起来。这个工作的主要目的是将图像的特征一步一步显现出来。〔2编码实现:①编辑菜单IDR_MAINFRAM,在菜单"预处理"中添加一子菜单项,命名为"实现图像对比度增强",并将其ID设为ID_READY_ContrastEnhance。类CFaceDetectView中添加"实现图像对比度增强"菜单项的事件处理程序,其代码如下;lOffset=gDib.PixelOffset<i,j,gwBytesPerLine>;获取图像灰度增强函数intstate=IncreaseContrast<ZFT[k][k1],100>;显示灰度增强后的图像*<lpData+lOffset>=state;*<lpData+lOffset+1>=state;*<lpData+lOffset+2>=state;其中IncreaseContras〔函数是实现图像对比度增强的关键函数,该根据参数n来调节对比度,n越大,对比越强烈,其核心是:如果数据很小,设置为0if<pByte<=Low>return0; 获得中间数据,并进行对比增强处理elseif<<Low<pByte>&&<pByte<High>>returnint<<<pByte-Low>/Grad>>; 如果数据很大,设置为255else return255;效果图编程时的问题解决光线补偿由于要改变每一个像素的亮度,开始,我通过对数幅图像使用一个固定的值进行测试,得到的效果都满理想,但是当对更多的图像处理时,该固定值就出现了明显的不足,最后不得不采用全局统计的方法,才能得到比较理想的效果。高斯平滑高斯平滑用于消除图片噪音,为了实现此功能,我们使用了模板操作,因此模板参数的选择是最重要的。高斯平滑效果的好坏取决与模板参数。在编程的时候,试探性的进行参数的选择,然后进行比较,看那组参数可以达到最好的效果。模板参数是原先采用了1/91/91/91/91/91/91/91/91/9形式,但是,得到的效果却是令人失望。后来又用了1/101/101/101/101/51/101/101/101/10形式,但是,结果仍然是未能达到预期的效果。直到最后采用的1/162/161/162/164/162/161/162/161/16形式,才得到了比较合理的效果。均衡直方图开始时,图像的会度一直都处于很散的状态,而且图像的特征不明显,原本想经过高斯平滑后进行灰度变换,但是并未能成功。经过了一翻苦战,最终找到均衡直方图的办法,经过多次尝试,效果一直处于比较理想的状态。测试测试是为了找出程序的错误。正如测试的规则所确定的一样:测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了迄今为止尚未发现的错误的测试。测试方案的选择原则应当把"尽早地和不断地进行软件测试"作为软件开发者的座右铭。测试用例应由测试输入数据和与之对应的预期输出结果两部分组成。程序员应避免检查自己的程序。〔注意不是指对程序的调试在设计测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租客合同终止租房协议
- 技术开发与转让合同保密范本
- 智能化系统供货安装合同样本
- 矿山企业轮换工劳动合同模板及示例
- 农村土地出租权属合同样本
- 标准货物销售合同简版
- 城市配送服务合同一览
- 小学生种花演讲课件
- 影视设备行业交流服务批发考核试卷
- 广播电视节目的心理影响与教育意义考核试卷
- 大众汽车使用说明书
- (高清版)DZT 0145-2017 土壤地球化学测量规程
- 供热公司安全教育知识
- 高中英语课程纲要
- 《药物设计学》课件
- 随机微分方程
- 道路设施施工现场安全管理基本要求
- 公寓楼改造装修施工方案
- 烟台大学化学化工学院实验室仪器设备搬迁项目
- 安全生产管理组织架构图
- 2022版10kV架空配电线路无人机自主巡检作业导则
评论
0/150
提交评论