基于matlab程序实现人脸识别
毕业设计基于matlab

毕业设计基于matlab毕业设计基于MATLAB的应用一、引言毕业设计是大学生在校期间的重要任务之一,它是对所学知识的综合运用和实践能力的考验。
在选择毕业设计的题目时,很多学生会选择基于MATLAB的设计,因为MATLAB是一种功能强大的工具,可以帮助学生完成各种复杂的计算和数据分析任务。
本文将探讨毕业设计基于MATLAB的应用。
二、MATLAB的功能和特点MATLAB是一种高级的技术计算语言和环境,它具有许多强大的功能和特点。
首先,MATLAB可以进行各种数值计算,如矩阵运算、方程求解、插值和拟合等。
其次,MATLAB还可以进行数据可视化,通过绘制图表和图像,直观地展示数据的分布和趋势。
此外,MATLAB还支持编写脚本和函数,以实现自动化的计算和分析。
三、基于MATLAB的毕业设计案例1. 图像处理图像处理是MATLAB的一个重要应用领域,许多毕业设计都选择了基于MATLAB的图像处理项目。
例如,可以设计一个基于MATLAB的人脸识别系统,通过图像处理算法提取人脸特征并进行比对。
另外,还可以设计一个基于MATLAB的图像滤波器,对图像进行去噪或增强等处理。
2. 信号处理信号处理是另一个常见的MATLAB应用领域。
可以设计一个基于MATLAB的音频压缩算法,通过信号处理技术减少音频文件的大小而不影响音质。
此外,还可以设计一个基于MATLAB的语音识别系统,通过分析声音信号提取语音特征并进行识别。
3. 数据分析数据分析是MATLAB的又一个重要应用领域。
可以设计一个基于MATLAB的数据挖掘系统,通过分析大量的数据,发现其中的规律和趋势。
此外,还可以设计一个基于MATLAB的金融模型,通过对金融数据的分析和建模,预测股票价格或者进行投资策略优化。
四、毕业设计的步骤和注意事项进行毕业设计时,需要按照一定的步骤进行,并注意一些事项。
首先,需要明确设计的目标和要求,确定所需的数据和算法。
其次,需要进行详细的设计和实现,编写MATLAB代码并进行测试。
人脸识别核心算法及MATLAB代码

人脸识别核心算法在检测到人脸并定位面部关键特征点之后,主要的人脸区域就可以被裁剪出来,经过预处理之后,馈入后端的识别算法。
识别算法要完成人脸特征的提取,并与库存的已知人脸进行比对,完成最终的分类。
我们在这方面的主要工作包括:∙基于LGBP的人脸识别方法问题:统计学习目前已经成为人脸识别领域的主流方法,但实践表明,基于统计学习的方法往往会存在“推广能力弱”的问题,尤其在待识别图像“属性”未知的情况下,更难以确定采用什么样的训练图像来训练人脸模型。
鉴于此,在对统计学习方法进行研究的同时,我们还考虑了非统计模式识别的一类方法。
思路:对于给定的人脸图像,LGBP方法首先将其与多个不同尺度和方向的Gabor滤波器卷积(卷积结果称为Gabor特征图谱)获得多分辨率的变换图像。
然后将每个Gabor特征图谱划分成若干互不相交的局部空间区域,对每个区域提取局部邻域像素的亮度变化模式,并在每个局部空间区域内提取这些变化模式的空间区域直方图,所有Gabor特征图谱的、所有区域的直方图串接为一高维特征直方图来编码人脸图像。
并通过直方图之间的相似度匹配技术(如直方图交运算)来实现最终的人脸识别。
在FERET四个人脸图像测试集合上与FERET97的结果对比情况见下表。
由此可见,该方法具有良好的识别性能。
而且LGBP方法具有计算速度快、无需大样本学习、推广能力强的优点。
参见ICCV2005表.LGBP方法与FERET'97最佳结果的对比情况∙基于AdaBoost的Gabor特征选择及判别分析方法问题:人脸描述是人脸识别的核心问题之一,人脸识别的研究实践表明:在人脸三维形状信息难以准确获取的条件下,从图像数据中提取多方向、多尺度的Gabor特征是一种合适的选择。
使用Gabor特征进行人脸识别的典型方法包括弹性图匹配方法(EGM)和Gabor特征判别分类法(GFC)。
EGM在实用中需要解决关键特征点的定位问题,而且其速度也很难提高;而GFC则直接对下采样的Gabor特征用PCA降维并进行判别分析,尽管这避免了精确定位关键特征点的难题,但下采样的特征维数仍然偏高,而且简单的下采样策略很可能遗漏了非常多的有用特征。
MATLAB中的图像识别与模式识别技巧

MATLAB中的图像识别与模式识别技巧引言:MATLAB是一种功能强大的计算机软件,被广泛应用于科学、工程、计算机视觉等领域。
其中,图像识别与模式识别是MATLAB常用的功能之一。
本文将介绍一些MATLAB中的图像识别与模式识别技巧,帮助读者更好地利用这些功能解决实际问题。
一、图像预处理在进行图像识别与模式识别之前,通常需要对图像进行预处理以提高识别的准确性和效率。
MATLAB提供了丰富的图像预处理函数,例如灰度化、二值化、平滑滤波等。
其中,灰度化函数im2gray可以将RGB图像转换为灰度图像,便于后续处理。
二值化函数im2bw可以将灰度图像转换为二值图像,更好地提取图像特征。
平滑滤波函数imfilter可以消除图像中的噪声,使得后续处理更加准确。
二、特征提取在进行图像识别与模式识别时,通常需要从图像中提取有用的特征,以便进行模式匹配和分类。
MATLAB提供了多种特征提取方法,例如灰度共生矩阵(GLCM)、局部二值模式(LBP)等。
灰度共生矩阵可以反映图像中不同像素灰度级之间的关系,用于描述纹理特征。
局部二值模式可以描述图像的纹理和形状特征。
通过使用这些特征提取方法,可以大幅度提高图像识别的准确性。
三、模式匹配与分类一旦提取了图像特征,就可以进行模式匹配和分类任务。
MATLAB提供了多种模式匹配和分类方法,例如支持向量机(SVM)、K近邻算法(KNN)等。
支持向量机是一种常用的分类算法,它可以通过找到一个最优超平面来分割不同类别的样本。
K近邻算法是一种简单而有效的分类算法,它通过计算待分类样本与已知样本的距离来确定其所属类别。
通过使用这些模式匹配和分类方法,可以实现高效的图像识别与模式识别。
四、深度学习应用近年来,深度学习在图像识别与模式识别领域取得了显著的成果。
MATLAB提供了深度学习工具箱,方便用户进行深度学习模型的设计和训练。
通过使用深度学习,可以自动从大量图像中提取抽象的特征,极大地提高了图像识别和模式识别的精度和效率。
基于Labview_Matlab的人脸识别系统设计与实现

超浅埋段长。隧道通过金家街小学操场 及教学楼和简易房。K0+49.97- K0+253, 地表杂填土厚 0.9~4.8m,基岩顶面距隧道顶 部 1.5~6.2m。 2.4 地面建筑及危房覆盖率高
在 K0+173~K0+253 里程上,沿隧道轴 线宽 80m 范围内居民密集,地面建筑多为 1-6 层砖混结构旧房及简易平房砌筑结构,为七十 年代初期建筑。
(2)爆破后沿岩体的切割面(或称爆裂面)应 具有一定的平整度,并能保持原岩体自身的稳 定性, 从而保证爆破效果及隧道内的安全, 即 光面和稳定控制爆破。 3.2 控制爆破基准
根据《爆破安全规程》( G B 6 7 2 2 - 8 6 ) 对
(1l) 其中 为混合成分的比例因子,即用高斯 混合模型来对概率分布矩阵 B 建模 和 分 别为高斯混合模型的均值和协方差矩阵
图像。
2.4 特征提取
首先对合法人员进行图像采集建立以每
人 5 幅不同表情像的归一化图像为标准的图
像库, 再对库进行 H M M 训练, 就是要为每个
类别确定一组经过优化的 H M M 参数, 每个模
型可以用单幅或多幅图像进行训练,训练步骤
如下:
(1)对人脸进行Gabor小波变换,求出特征
结,并将其作为观测向量,即
1 引言
随着城市交通及地铁隧道的大量修建,穿 越密集建筑物(住宅区)进行小净距浅埋隧道施 工已成为建筑施工企业和工程技术人员亟待 攻克的科技难题。大连市椒金山新建隧道采 用暗挖法施工, 通过优化控制爆破方案, 合理 选择爆破参数对获取理想震动效果,控制地面 沉降,减少围岩扰动及地表建筑物影响起到了 关键作用。该隧道的控制爆破施工是在交通 不中断、相邻隧道净间距小、洞顶覆盖层薄 的困难条件下进行的,本项目控制爆破技术的 成功应用标志着我国超长小净距隧道控制爆 破施工的一个重大突破。
人脸识别(带全部程序)

摘要基于图象处理的机器视觉与智能识别技术是图象处理的前沿和人工智能研究领域的重要分支,机器识别的方法在于研究合适的计算模型,然后利用机器来实现简单的智能判决。
本文以“人”目标的检测为研究对象,采用归一化方案和主动轮廓算法提取采样图象中的目标信息,即图象特征,并利用一定的先验知识对该信息进行判断,达到检测和识别“人”目标的目的。
目标检测是识别的前提工作,本文通过加权灰度分析寻找一个可以逼近我们感兴趣目标的图象点(即目标点),并在此基础上建立直角坐标系,分割采样图,解决多个目标检测的问题。
目标匹配是目标跟踪,识别领域的基本思想,在本课题中鉴于采样图获取目标的位置,角度和形态差异,直接进行目标匹配显然是不可行的。
本文采用归一化的思想,通过角度修正,坐标平移和坐标伸缩,得到目标的标准尺寸和形态。
与传统归一化算法的区别在于,本文并不采用某个标准模板作为参考,因而可以防止非“人”目标在归一化之后具有和“人”目标相似的尺寸和形态。
轮廓检测一直是目标的识别算法中最基本也最困难的问题,传统的轮廓检测方案往往受采样图的实际效果影响较大,造成提取轮廓模糊或存在断点乃至严重的轮廓失真。
通常的解决方案是采用相应的后续修正算法,让目标轮廓尽量保持连续。
本文在目标归一化的基础上,采用主动轮廓算法,较好的解决了轮廓对目标的贴近及其本身连续性问题,避免了复杂的后续修正工作。
通常情况下的目标识别往往可以对识别过的目标进行标记或能很快提取其不变特征,不至于影响其他目标判断。
然而“人”目标的形态会随时间发生随机的改变,不容易提取其不变性特征,鉴于人数统计的客观要求,不能容许对同一个人重复计数。
本文通过对上一次目标检测和目标识别的结果以及当前目标检测结果进行综合验算的方法,来判断是否对当前采样图进行识别判断,在解决了重复计数问题的同时大大降低了系统的实时处理数据量。
关键词:目标检测归一化主动轮廓计数ABSTRACTThe technology based on image processing and machine vision is in the forefront of the Intelligent Recognition of image processing and it is the important research branch of artificial intelligence plant. The identificational method is to find a suitable model, and then using machines to achieve simple intelligent judgment. In this paper, we study the recognition and judgement of the target of human beings. We use the normalization program and an active contour to extract algorithm information of the object and image characteristics from sampling image .Then, we make use of some prior knowledge of this information to reach the judgement which cause to the identification of "people" Goals.Target detection is the premise of recognition. According to Gray weighted analysis we can find an interesting target which is close to us the image point (that may be the goal points). On basis of this, we can establishmen a Cartesian coordinates and segment from the sampling image to solve the numbers of targets detection problem.Target matching and target tracking is the basic ideology of identification area, in the light of the issue of uncertained sampling image.It is hard to gain the position, Morphological differences in perspective .So matching the target directly is obviously not feasible. In this paper, incording to the idea of normalization program, such as angle correction, coordinate translation and telescopic coordinates, we can obtain standard sizes and shapes of objects. In a different with traditional algorithm ,it doesn’t use standard templates as a reference. thus we can prevent the other targets from getting similar size and morphology of “people” target s.Contour detection is always be the is the most fundamental and most difficult problem of objective recognition algorithm, traditional contour detection program often suffers from the inactual results of sampling map greatly, which causes Fuzzy result of contour extraction and breakpoints in contour or even serious distortion of the contours. The usual solution is to adopt corresponding amendments to the follow-up algorithms for object contours to maintain continuous. Based on the goal of normalization and active contour algorithm issue in this paper, wo can solve the problem to get profile of the target close to his own continuity and void the complex follow-up rectification works.Under normal circumstances , the target recognition can often be solved byidentifing the target or extracting its invariant feature as soon as possible. Thus, it will not affect judgment of other goals. However, "people" target patterns will have random changes over time. So it is not easy to extract its invariant features. Giving the statistical number of objectives is not allowed to repeat the same individual counts. Based on result of previous target detection and the identification of goals in current , we can use the integrated calculation method to determine the necessity of identifing and judging of the current sampling plan . In a result , we solve the problem of counting repeatly and reduce the amount of date in a real-time processing.Keywords: target detecting , normalization, active contour, count.目录中文摘要 (I)英文摘要......................................................................................................................................... I I 1 绪论. (1)1.1 研究背景 (1)1.2 研究现状 (2)1.3 论文结构安排 (3)2 计数系统的目标检测 (4)2.1 引言 (4)2.2 基于图象的成象系统存在的技术瓶颈 (4)2.3 图象采集方案 (5)2.4 目标检测 (6)3 图象目标的归一化处理 (10)3.1 引言 (10)3.2 图象归一化的基本问题 (10)3.3 归一化转动角参数的确定 (12)3.4 轮廓平面上目标区域的确定 (14)3.5 参照尺度的确定和比例调整 (17)4 主动轮廓算法 (23)4.1 引言 (23)4.2 主动轮廓算法的优势 (22)4.3 主动轮廓算法的图象模型 (24)4.4 模型工作机制 (26)4.5 轮廓的初步检测 (27)4.6 基于SUSAN算子的角点检测 (28)4.7 提取带凹陷特征的目标轮廓 (31)5 仿真实现 (34)5.1 目标检测仿真 (34)5.2 归一化的仿真 (38)5.3 主动轮廓仿真 (41)5.4 计数部分仿真 (44)5.5 实时性分析 (46)6 硬件实现 (48)6.1 引言 (48)6.2 TMS320C5502的功能介绍 (48)6.3 硬件设计 (49)6.4 工作原理 (53)7 结束语 (55)致谢 (57)参考文献 (58)附录: 一 (60)二 (67)1绪论1.1研究背景在我们生存的世界中,存在着多种多样的可被我们所感知的信号,从而帮助我们去了解周围的环境。
如何进行MATLAB图像处理

如何进行MATLAB图像处理一、引言图像处理是计算机视觉和图像分析领域中的重要任务之一。
而MATLAB是一种强大的数学计算软件,也被广泛应用于图像处理。
本文将介绍如何使用MATLAB进行图像处理,并探讨一些常见的图像处理技术。
二、图像处理基础在开始使用MATLAB进行图像处理之前,我们需要了解一些基础知识。
一个图像通常由像素组成,每个像素都有一个灰度值或者RGB(红绿蓝)三个通道的值。
图像的处理可以分为两个主要方面:空间域处理和频域处理。
1. 空间域处理空间域图像处理是指直接对图像的像素进行操作,常见的处理方法包括亮度调整、对比度增强和图像滤波等。
MATLAB提供了一系列函数和工具箱来进行这些处理。
例如,要调整图像的亮度,可以使用imadjust函数。
该函数可以通过调整输入图像的灰度值范围,实现亮度的增强或者降低。
下面是一个简单的例子:```matlabI = imread('image.jpg'); % 读取图像J = imadjust(I,[0.2 0.8],[0 1]); % 调整亮度范围imshow(J); % 显示图像```2. 频域处理频域图像处理是指将图像从空间域转换到频域进行处理,常见的处理方法包括傅里叶变换和滤波等。
MATLAB提供了fft和ifft等函数来进行频域处理。
例如,要对图像进行傅里叶变换,可以使用fft2函数。
该函数将图像转换为频率域表示,可以进一步进行滤波等处理。
下面是一个简单的例子:```matlabI = imread('image.jpg'); % 读取图像F = fft2(I); % 傅里叶变换F = fftshift(F); % 频率域中心化imshow(log(1 + abs(F)),[]); % 显示频率域图像```三、图像处理技术了解了图像处理的基础知识后,我们可以探索一些常见的图像处理技术。
以下将介绍几个常用的技术,并给出相应的MATLAB代码示例。
利用Matlab进行图像处理与图像识别的实例

利用Matlab进行图像处理与图像识别的实例引言:在现代科技的发展中,图像处理和图像识别成为了热门的研究领域。
利用计算机视觉技术对图像进行处理和分析,可以广泛应用于医学影像、安防监控、人脸识别等领域。
而Matlab作为一款功能强大的科学计算软件,提供了丰富的图像处理和识别工具箱,极大地便利了研究者在图像领域的工作。
本文将通过几个实例来介绍如何利用Matlab进行图像处理和图像识别。
一、Matlab中的图像处理工具箱Matlab提供了大量的图像处理函数和工具箱,方便用户进行图像的处理和分析。
其中,图像处理工具箱是最常用的一部分。
通过该工具箱,用户可以对图像进行滤波、增强、分割等操作。
例如,可以用imfilter函数进行均值滤波,用imadjust函数对图像进行直方图均衡化。
图像处理工具箱的使用非常简单,只需要调用相应的函数并传入参数即可。
二、实例1:图像滤波图像滤波是图像处理中常用的操作之一。
通过滤波可以去除图像中的噪声或者增强图像的细节。
在Matlab中,可以使用不同的滤波函数来实现不同的效果。
下面以均值滤波和中值滤波为例来介绍。
1. 均值滤波均值滤波是一种简单的线性滤波方法。
在Matlab中,可以使用imfilter函数来进行均值滤波。
例如,对一张灰度图像进行均值滤波的代码如下:```img = imread('image.jpg');h = fspecial('average', [3 3]);filtered_img = imfilter(img, h, 'replicate');```上述代码中,imread函数用于读取图像,fspecial函数用于创建一个3x3的均值滤波模板,imfilter函数用于对图像进行滤波操作。
'replicate'参数表示在边界处使用边界像素值进行补充。
2. 中值滤波中值滤波是一种非线性滤波方法,常用于去除椒盐噪声。
MATLAB中常见的图像识别算法介绍

MATLAB中常见的图像识别算法介绍图像识别是指利用计算机视觉技术对图像进行分析和处理,从中提取出有用的信息。
MATLAB作为一种强大的计算软件,提供了丰富的图像处理和分析工具,能够支持各种常见的图像识别算法。
在本文中,我们将介绍几种常用的图像识别算法,并探讨其原理和应用。
一、图像特征提取算法图像识别的第一步是提取图像特征,即从图像中提取出能够代表图像内容的信息。
常用的图像特征提取算法包括SIFT(Scale-Invariant Feature Transform)、SURF(Speeded-Up Robust Features)和HOG(Histogram of Oriented Gradients)等。
SIFT算法通过检测图像中的关键点,并计算这些关键点的描述子,从而表示图像的局部特征。
SURF算法是对SIFT算法的一种改进,它具有更快的运算速度和更好的鲁棒性。
HOG算法则通过统计图像中不同方向上的梯度信息来描述图像的纹理特征。
这些图像特征提取算法在图像识别任务中广泛应用,例如人脸识别、物体检测等。
它们的主要优势在于对图像的旋转、尺度和光照变化具有较好的不变性。
二、图像分类算法在提取了图像特征之后,接下来就是将提取到的特征应用于图像分类任务。
常用的图像分类算法有支持向量机(SVM)、K最近邻(KNN)和深度学习等。
支持向量机是一种经典的机器学习算法,在图像分类中有着广泛的应用。
它通过寻找一个最优的超平面来将不同类别的样本分开。
支持向量机具有较好的泛化能力,能够处理高维特征,对于非线性问题也能够通过核技巧进行处理。
K最近邻算法则是一种简单而有效的分类方法。
它基于样本的邻近性,将测试样本分类为最近邻居中的多数类别。
KNN算法的优势在于对于训练数据没有假设,但存在计算复杂度高和决策边界不平滑等问题。
深度学习是近年来兴起的一种机器学习方法,通过神经网络模型对图像进行表征学习和分类。
深度学习在图像识别领域取得了重大突破,其中卷积神经网络(CNN)是其重要的代表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
页眉内容 页脚内容1 基于matlab程序实现人脸识别
1.人脸识别流程 1.1.1基本原理 基于YCbCr颜色空间的肤色模型进行肤色分割。在YCbCr色彩空间内对肤色进行了建模发现,肤色聚类区域在Cb—Cr子平面上的投影将缩减,与中心区域显著不同。采用这种方法的图像分割已经能够较为精确的将人脸和非人脸分割开来。
1.1.2流程图 人脸识别流程图 页眉内容
页脚内容2 读入原始图像将图像转化为YCbCr颜色空间
利用肤色模型二值化图像并作形态学处理
选取出二值图像中的白色区域,度量区域属性,筛选后得到所有矩形块
筛选特定区域(高度和宽度的比率在(0.6~2)之间,眼睛特征)
存储人脸的矩形区域是
特殊区域根据其他信息筛选,标记最终的人脸区域
否
2.人脸识别程序 (1)人脸和非人脸区域分割程序 function result = skin(Y,Cb,Cr) %SKIN Summary of this function goes here % Detailed explanation goes here a=25.39; b=14.03; ecx=1.60; 页眉内容 页脚内容3 ecy=2.41; sita=2.53; cx=109.38; cy=152.02; xishu=[cos(sita) sin(sita);-sin(sita) cos(sita)]; %如果亮度大于230,则将长短轴同时扩大为原来的1.1倍 if(Y>230) a=1.1*a; b=1.1*b; end %根据公式进行计算 Cb=double(Cb); Cr=double(Cr); t=[(Cb-cx);(Cr-cy)]; temp=xishu*t; value=(temp(1)-ecx)^2/a^2+(temp(2)-ecy)^2/b^2; %大于1则不是肤色,返回0;否则为肤色,返回1 if value>1 result=0; else result=1; 页眉内容 页脚内容4 end end
(2)人脸的确认程序 function eye = findeye(bImage,x,y,w,h) %FINDEYE Summary of this function goes here % Detailed explanation goes here part=zeros(h,w); %二值化 for i=y:(y+h) for j=x:(x+w) if bImage(i,j)==0 part(i-y+1,j-x+1)=255; else part(i-y+1,j-x+1)=0; end end end [L,num]=bwlabel(part,8); %如果区域中有两个以上的矩形则认为有眼睛 if num<2 页眉内容 页脚内容5 eye=0; else eye=1; end end (3)人脸识别主程序 clear all; %读入原始图像 I=imread('face3.jpg'); gray=rgb2gray(I); ycbcr=rgb2ycbcr(I);%将图像转化为YCbCr空间 heighth=size(gray,1);%读取图像尺寸 width=size(gray,2); for i=1:heighth %利用肤色模型二值化图像 for j=1:width Y=ycbcr(i,j,1); Cb=ycbcr(i,j,2); Cr=ycbcr(i,j,3); if(Y<80) gray(i,j)=0; else 页眉内容 页脚内容6 if(skin(Y,Cb,Cr)==1)%根据色彩模型进行图像二值化 gray(i,j)=255; else gray(i,j)=0; end end end end se=strel('arbitrary',eye(5));%二值图像形态学处理 gray=imopen(gray,se); figure;imshow(gray) [L,num]=bwlabel(gray,8);%采用标记方法选出图中的白色区域 stats=regionprops(L,'BoundingBox');%度量区域属性 n=1;%存放经过筛选以后得到的所有矩形块 result=zeros(n,4); figure,imshow(I); hold on; for i=1:num %开始筛选特定区域 box=stats(i).BoundingBox; x=box(1);%矩形坐标X y=box(2);%矩形坐标Y 页眉内容 页脚内容7 w=box(3);%矩形宽度w h=box(4);%矩形高度h ratio=h/w;%宽度和高度的比例 ux=uint16(x); uy=uint8(y); if ux>1 ux=ux-1; end if uy>1 uy=uy-1; end if w<20 || h<20|| w*h<400 %矩形长宽的范围和矩形的面积可自行设定 continue elseif ratio<2 && ratio>0.6 && findeye(gray,ux,uy,w,h)==1 %根据“三庭五眼”规则高度和宽度比例应该在(0.6,2)内; result(n,:)=[ux uy w h]; n=n+1; end end if size(result,1)==1 && result(1,1)>0 %对可能是人脸的区域进行标记 rectangle('Position',[result(1,1),result(1,2),result(1,3),result(1,4)],'EdgeColor','r'); 页眉内容 页脚内容8 else %如果满足条件的矩形区域大于1,则再根据其他信息进行筛选 a=0; arr1=[];arr2=[]; for m=1:size(result,1) m1=result(m,1); m2=result(m,2); m3=result(m,3); m4=result(m,4); %得到符合和人脸匹配的数据 if m1+m3a=a+1; arr1(a)=m3;arr2(a)=m4; %rectangle('Position',[m1,m2,m3,m4],'EdgeColor','r'); end end %得到人脸长度和宽度的最小区域 arr3=[];arr3=sort(arr1,'ascend'); arr4=[];arr4=sort(arr2,'ascend'); %根据得到的数据标定最终的人脸区域 for m=1:size(result,1) 页眉内容 页脚内容9 m1=result(m,1); m2=result(m,2); m3=result(m,3); m4=result(m,4); %最终标定人脸 if m1+m3m3=arr3(1); m4=arr4(1); rectangle('Position',[m1,m2,m3,m4],'EdgeColor','r'); end end end (4)程序说明 人脸识别程序主要包含三个程序模块,人脸识别主程序由三部分构成。第一部分:将图像转化为YCbCr颜色空间,根据色彩模型进行图像二值化,二值化图像进行形态学处理、开运算,显示二值图像;第二部分:采用标记方法选取出图中的白色区域,度量区域属性,存放经过筛选以后得到的所有矩形块,筛选特定区域,存储人脸的矩形区域;第三部分:对于所有人脸的矩形区域,如果满足条件的矩形区域大于1则再根据其他信息进行筛选,标记最终的人脸区域。
图像分割程序中,利用肤色可以较为精确的将人脸和非人脸区域分割开来,得到较为精确的二值化图像。
人脸的确认程序,以存储的所有矩形区域作为研究对象,当区域内有眼睛存在时,才认为此区域为人脸区域 页眉内容 页脚内容10 3运行结果 (1)第一幅图 原始图像
肤色分割的二值化图像 人脸识别图像 页眉内容
页脚内容11 (2)第二幅图 原始图像
肤色分割的二值化图像 页眉内容
页脚内容12 人脸识别图像 (3)第三幅图 页眉内容
页脚内容13 原始图像
肤色分割的二值化图像