机器学习概述课程设计报告(MATLAB人脸识别)
简单Matlab人脸检测

创新性实验研究报告实验项目名称_matlab人脸识别_(3)选定脸部区域:2,3所得图像做andFace and FeaturesFace Region通过眼嘴确定人脸区域:通过肤色概率模型得到源图像概率图: (2)(3)选定脸部区域: (4)将2,3所得图像做通过脸部区域坐标确定人脸区域:,查阅相关书籍;根据课题条件,设计算法流程;算法步骤如下:寻找合适的肤色概率模型。
对概率模型进行阈值选择。
形成二值化图像五、实验结果与分析图1 椭圆圈定人脸图2 矩形圈定人脸另外,程序中还有在图片中定位眼嘴的语句,以方便程序后期调试,现象类似如下:图3 人脸特征标记、对实验现象、数据及观察结果的分析与讨论:本次实验程序对正面人脸的检测率基本能满足快速检测出图片中人脸的需要,也比较让人满意。
实现方法简便有效,如果能进一步增加滤波、光照补偿等步骤,将可以在满足实验要求的前提下进一步提高检测率和检测精度。
六、实验结论七、指导老师评语及得分:附件:源程序等。
clc;clear all;close all;x=imread('f.jpg');y=rgb2ycbcr(x);[a b c]=size(y);cb=double(y(:,:,2));cr=double(y(:,:,3));for i=1:a;for j=1:bw=[cb(i,j) cr(i,j)];m=[117.4316 148.5599];n=[260.1301 12.1430;12.1430 150.4574];p(i,j)=exp((-0.5)*(w-m)*inv(n)*(w-m)');endendz=p./max(max(p));%---------------------------------------------------------comp lextion probabilityimshow(z)%figure;imshow(x);th=0.5;for i=1:afor j=1:bif(z(i,j)>th)z(i,j)=1;elsez(i,j)=0;endendendfigure;imshow(z);title('Setthreshold')%-----------------------------------thresholdse=strel('square',3);f=imopen(z,se);f=imclose(f,se);%figure,imshow(f);%open and close processing;f=imfill(f,'holes');%figure,imshow(f);%fill holes in the Imgse1=strel('square',8);f=imerode(f,se1);f=imdilate(f,se1);%figure,imshow(f);%----------------------------------------------------erosion and expansion;[L,num]=bwlabel(f,4);for i=1:num;%region loop;[r,c]=find(L==i);len=max(r)-min(r)+1;wid=max(c)-min(c)+1;area_sq=len*wid;area=size(r,1);for j=1:size(r,1)%pixel loop;if(len/wid<.8)|(len/wid>2.4)|size(r,1)<200|area/area_sq<0.55L(r(j),c(j))=0;%not zero pixel =0;elsecontinue;endendendfigure;imshow(L);title('FaceRegion')%---------------------------------eliminate NOT face rengion;w=L&z;figure;imshow(w);title('Face and Features')%---------------------------recover the features of face[r c]=find(L~=0);r_min=min(r);r_max=max(r);c_min=min(c);c_max=max(c);figure;imshow(x);hold on%plot(round(.5*(c_max+c_min)),round(.5*(r_max+r_min)),'+')flg=0;for i=round(.5*(r_min+r_max)):-1:round(1/3*(r_max-r_min)+r_min)for j=round(.5*(c_max+c_min)):-1:round(1/3*(c_max-c_min)+c_min)if(w(i,round(j))==0)flg=1;break;endendif(flg==1),break,endendw(i,j)if(w(i,j)==0)e1_x=j;e1_y=i;%plot(j,i,'*')%--------------------------------------------------------Note left eyeflg=0;for i=round(.5*(r_min+r_max)):-1:round(1/3*(r_max-r_min)+r_min)for j=round(.5*(c_max+c_min)):round(2.2/3*(c_max-c_min)+c_min)if(w(i,j)==0)flg=1;break;endendif(flg==1)break,end;endw(i,j)e2_x=j;e2_y=i;%plot(j,i,'*')%--------------------------------------------------------Note right eyefor i=round(1/2*(r_max+r_min)):round(r_min+2/3*(r_max-r_min))if(w(round(i),round(.5*(c_max+c_min)))==0),break,endendw(i,round(.5*(c_max+c_min)))m_x=.5*(c_max+c_min);m_y=i;%plot(round(.5*(c_max+c_min)),i,'*')%-----------------------------------------Note mouthox=(e1_x+e2_x+m_x)/3;oy=(e1_y+e2_y-e1_x+e2_x)/2;a=2*(e2_x-e1_x);c=(e1_y+e2_y)/2-m_y;b=(a*a-c*c)^0.5;t=0:.01:2*pi;x=ox+.65*b*cos(t);y=oy+.8*a*sin(t);plot(x,y,'.')elserectangle('Position',[c_min r_min c_max-c_min r_max-r_min],'EdgeColor','r');title('Test Face Rec-ed')%---------------------------------------------test the face regionend。
如何使用Matlab进行人脸检测和人脸识别

如何使用Matlab进行人脸检测和人脸识别人脸检测和人脸识别是计算机视觉领域中的重要技术应用,可以广泛用于人脸识别系统、人脸支付、安全监控等众多领域。
本文将介绍如何使用Matlab进行人脸检测和人脸识别。
1. 背景介绍人脸检测和人脸识别技术的出现,为计算机系统实现对人脸的自动分析和识别提供了可能。
人脸检测是指从一幅图像或视频序列中确定是否存在人脸,并找出人脸的位置和大小。
而人脸识别则是在检测到的人脸图像上进行特征提取和模式匹配,以实现对人脸的身份识别。
2. 人脸检测在Matlab中,可以使用Viola-Jones算法进行人脸检测。
该算法通过构造Haar特征与Adaboost集成学习算法相结合,能够在较短的时间内实现高效的人脸检测。
具体操作如下:2.1 加载图像首先,在Matlab中加载需要进行人脸检测的图像。
可以使用imread函数进行图像加载,并将其转换为灰度图像进行处理。
例如:```Matlabimage = imread('face.jpg');gray_image = rgb2gray(image);```2.2 构建人脸检测器在Matlab中,可以使用vision.CascadeObjectDetector对象构建人脸检测器。
该对象可以通过Viola-Jones算法进行人脸检测。
具体代码如下:```MatlabfaceDetector = vision.CascadeObjectDetector();bbox = step(faceDetector, gray_image);```2.3 显示检测结果最后,可以使用insertObjectAnnotation函数将检测到的人脸位置在原始图像上标记出来。
代码示例如下:```Matlabdetected_image = insertObjectAnnotation(image, 'rectangle', bbox, 'Face');imshow(detected_image);```3. 人脸识别在Matlab中,可以使用基于人脸特征的Eigenface、Fisherface和LBPH等算法进行人脸识别。
人脸识别课程设计报告

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:页脚内容1一、问题描述在一个人脸库中,有15 个人,每人有11 幅图像。
要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。
再任取图像库的一张图片,识别它的身份。
对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。
如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。
不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。
因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。
二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。
它具有去相关性、能量集中等特性,属于均方误差测度页脚内容2下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。
PCA 则是选取协方差矩阵前k 个最大的特征值的特征向量构成K-L 变换矩阵。
2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。
实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。
3)人脸空间建立假设一幅人脸图像包含N 个像素点,它可以用一个N 维向量Γ表示。
这样,训练样本库就可以用Γi(i=1,...,M)表示。
协方差矩阵C 的正交特征向量就是组成人脸空间的基向量,即特征脸。
将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。
机器学习概述课程设计报告(MATLAB人脸识别)

机器学习概述课程设计报告题目:MATLAB人脸识别系统姓名:**学号:**专业:**时间:2015/8/7目录一、课程设计得目得 ..............................................................................二、设计得内容与要求 ..........................................................................三、详细设计 ..........................................................................................四、课程设计得总结 ..............................................................................五、参考文献 ..........................................................................................一.课程设计得目得人脸识别作为一项新兴得科学研究项目,有着广泛得应用前景,而且随着计算机技术得更新发展,它得科学研究价值也越发凸显。
经过几十年得研发探讨,世界各大研究结构得研发人员得不断努力下,人脸识别技术一已取得丰硕得成果,可在一定限制条件下完成人脸得自动识别。
这些成果得取得更促进了人们对人脸识别这一课题得深入研究。
在电子商务飞速发展得今天,人脸识别系统得范畴一不足以涵括人脸识别得应用范围,在数字图像处理、视频领域、基于内容得检索等方面有着重要得应用价值。
二.设计得内容及要求1、选择KNN,聚类或SVM方法中得一种或其她机器学习方法得一种进行课程设计2、要求能完成具体得识别任务:如图像分割、语音识别、人脸识别3、要求识别得对象中有自己生活元素,比如图像中包括学校得图片或语音时本人得语音等。
人脸识别课程设计报告材料

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有 15 个人,每人有 11 幅图像。
要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。
再任取图像库的一张图片,识别它的身份。
对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。
如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。
不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。
因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。
二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。
它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。
PCA 则是选取协方差矩阵前 k 个最大的特征值的特征向量构成K-L 变换矩阵。
2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。
实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。
3)人脸空间建立假设一幅人脸图像包含 N 个像素点,它可以用一个 N 维向量Γ表示。
这样,训练样本库就可以用Γi(i=1,...,M)表示。
协方差矩阵 C 的正交特征向量就是组成人脸空间的基向量,即特征脸。
将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。
基于matlab的人脸识别系统实验报告

基于MATLAB的人脸识别系统小组成员:徐艺达、莫子韬邹明宇、罗远挥、周宁基于MATLAB的人脸识别系统第一部分绪论如图一个人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。
现在已有实用的计算机自动指纹识别系统面试,并在安检部门得到了相应的应用。
人脸图像的自动识别较之于指纹识别系统、DNA鉴定等具有更加方便的性能,其取样方便,可不接触目标进行识别,从而具有更大意义的开发效应。
然而,与指纹成像技术不同的是,人脸图像受很多因素的干扰:人脸表情的多样性,以及外在成像过程中的关照、图像尺寸、旋转、姿势变化等方面,使得同一个人在不同的环境下拍摄所得到的人脸图像不同,有时往往会有很大的差别,给识别带来了很大的难度。
因此,人脸识别也更具有挑战性。
除了具有重大的理论价值及极富挑战性外,人脸识别还具有很多潜在的应用前景,利用人脸图像进行身份验证,可以不与目标接触就取得样本图像,而使用其他的身份手段,如指纹、眼睛虹膜等必须通过与目标接触或相当接近来取得样本,因此此类识别手段也具有很多不便之处。
本文通过使用PCA和NMF两种算法及MATLAB软件对所取图像进行预处理与识别,应用该工具箱对图像进行了经典图像处理,进而应用与人脸识别系统。
主要涉及到图像选取、脸部定位、特征提取及图像处理识别几个过程。
第二部分基于NMF算法的人脸识别系统一、摘要作为一种基于人的脸部特征信息进行身份识别的一种生物识别技术,人脸识别逐渐成为了计算机视觉领域的一个热门研究课题。
NMF就是其中一种主流算法,但由于人脸识别所存在光照、角度、遮挡等问题仍未解决,因此NMF算法仍存在局限性,该算法没有引入任何对空间的位置的约束,所以最小化目标函数很难产生揭示数据X的局部特征的因子分解。
本文以NMF算法为基础,结合LNMF算法来求解人脸问题。
二、实验目的运用NMF算法对数据库中的数据进行人脸识别分析三、实验原理 1.非负矩阵分解法NMF 1.1NMF 定义非负矩阵分解定义为:找到非负矩阵W 与H 得到下式 V ≈WH (1-1)在计算中等式两者很难完全相等。
人脸识别课程设计报告

人脸识别课程设计报告用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有 15 个人,每人有 11 幅图像。
要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。
再任取图像库的一张图片,识别它的身份。
对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。
如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。
不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。
因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。
二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。
它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。
PCA 则是选取协方差矩阵前 k 个最大的特征值的特征向量构成 K-L 变换矩阵。
2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。
实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。
3)人脸空间建立假设一幅人脸图像包含 N 个像素点,它可以用一个 N 维向量Γ表示。
这样,训练样本库就可以用Γi(i=1,...,M)表示。
协方差矩阵 C 的正交特征向量就是组成人脸空间的基向量,即特征脸。
人脸识别课程设计报告

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有15 个人,每人有11 幅图像。
要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。
再任取图像库的一张图片,识别它的身份。
对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。
如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。
不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。
因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。
二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。
它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。
PCA 则是选取协方差矩阵前k 个最大的特征值的特征向量构成K-L 变换矩阵。
2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。
实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。
3)人脸空间建立假设一幅人脸图像包含N 个像素点,它可以用一个N 维向量Γ表示。
这样,训练样本库就可以用Γi(i=1,...,M)表示。
协方差矩阵C 的正交特征向量就是组成人脸空间的基向量,即特征脸。
将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器学习概述课程设计报告题目:MATLAB人脸识别系统
姓名:**
学号:**
专业:**
时间:2015/8/7
目录
一、课程设计的目的 ..............................................................................
二、设计的内容与要求 ..........................................................................
三、详细设计 ..........................................................................................
四、课程设计的总结 ..............................................................................
五、参考文献 ..........................................................................................
一.课程设计的目的
人脸识别作为一项新兴的科学研究项目,有着广泛的应用前景,而且随着计算机技术的更新发展,它的科学研究价值也越发凸显。
经过几十年的研发探讨,世界各大研究结构的研发人员的不断努力下,人脸识别技术一已取得丰硕的成果,可在一定限制条件下完成人脸的自动识别。
这些成果的取得更促进了人们对人脸识别这一课题的深入研究。
在电子商务飞速发展的今天,人脸识别系统的范畴一不足以涵括人脸识别的应用范围,在数字图像处理、视频领域、基于内容的检索等方面有着重要的应用价值。
二.设计的内容及要求
1、选择KNN,聚类或SVM方法中的一种或其他机器学习方法的一种进行课程设计
2、要求能完成具体的识别任务:如图像分割、语音识别、人脸识别
3、要求识别的对象中有自己生活元素,比如图像中包括学校的图片或语音时本人的语音等。
三.详细设计
YCbCr空间——>灰度图像转换——>噪声消除——>图像填孔——>图像重构——>人脸区域确定——>边缘检测
(原图-涉及个人隐私,未呈现原图)
(YCbCr空间转换)(噪声消除)
(图像填孔)(图像重构)
(人脸区域的确定)
(涉及个人隐私)
四.课程设计的总结
通过三天的学习以及课后学习,我利用SVM算法进行人脸识别,由于光照强度的不同、人脸肤色的不同、图片背景的不同往往导致每张图片都具有自身的特色,将人脸区域从背景、衣着、发型等非人类区域中分割出来。
一般使用的RGB图片不适合于建立人脸皮肤模型,因为在RGB空间中,使用三基色(r,g,b)表示图片的亮度以及颜色。
在不同的环境下光照条件的改变,很难将肤色点从非肤色点中分离出来,如果在RGB图像上进行处理,将产生离散的肤色点,图片中间嵌有很多的非肤色点,提高了人脸检测的难度,容易产生不可靠的肤色分割。
解决方法是隔离颜色表达式中的亮度信息与色度信息,充分利用色度空间中肤色所表示出来的聚类性。
为此需要创造这样一个色彩空间,这个空间能把R、G、B所代表的色度信息与亮度信息分开表示。
色彩空间常用的的转换颜色模型主要有:YIQ、YCbCr、HSV 等。
这里,采用YCrCb色彩空间作为报告的设计空间。
经过颜色转换后大大缩减了人脸的搜索范围,为SVM算法提供更有效的方法。
本次课程设计,我学会了很多有用的算法,并能够初步实现,了解机器语言的过程以及了解MA TLAB强大的功能。
五.参考文献
[1] 姚敏.数字图像处理[M].机械工业出版社,2006:2.
[2] 王爱民,沈兰荪.图像分割研究综述[J].测控技术,2000,19(5):1-5.
[3] 张德丰.详解MA TLAB数字图像处理[M].北京:电子工业出版社,2010,7:249.
[4] 杨杰.数字图像处理及MA TLAB实现[M].北京:电子工业出版社,2010,2:149-150.
[5] 张洪刚,陈光,郭军编著.图像处理与识别[M].北京:北京邮电大学出版社,2006:102-103.
[6] 韩晓军.数字图像处理技术与应用[M].北京:电子工业出版社,2009,7:38.
[7] 张化光,刘鑫蕊,孙秋野编著.MA TLAB/SIMULINK实用教程[M].北京:人民邮电出版社,2009,3:235.
[8] 何东健.数字图像处理[M].西安:西安电子科技大学出版社,2008,5:86.
[9] 刘刚.MA TLAB数字图像处理[M].北京:机械工业出版社,2010,5:199-200.
附录:程序
sum=0;
iptsetpref('ImshowBorder', 'tight')%%%设置图像处理工具箱的参数
f=imread('333.jpg');
Ori_Face=f;
copy=f;
img=f;
f=rgb2ycbcr(f);%rgb空间转换为ycbcr空间
f_cb=f(:,:,2);
f_cr=f(:,:,3);
f= (f_cb>=100) & (f_cb<=127) & (f_cr>=138) &(f_cr<=170) ;%皮肤颜色在ycbcr色度空间的分布范围为:100<=cb<=127,138<=cr<=170
figure(1);
imshow(f);
se=strel('square',3);%%构建一个3*3单位矩阵作为结构元素
f=imopen(f,se);%%图片开运算
f=imclose(f,se);%%图片闭运算
figure(2),imshow(f);%%消除噪声
f=imfill(f,'holes');%%%填孔处理
figure(3),imshow(f);
se1=strel('square',8);
f=imerode(f,se1);
f=imdilate(f,se1);
figure(4),imshow(f);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%区域
连通
[L,num]=bwlabeln(f,4);设定操作的邻域类型为4-领域
for i=1:num;
[r,c]=find(L==i);
r_temp=max(r)-min(r);
c_temp=max(c)-min(c);
temp=size(r);
sum=sum+temp(1);
area_sq=r_temp*c_temp;
area=size(find(L==i),1);
ratio=area/area_sq;
if (r_temp/c_temp<1.54)|(r_temp/c_temp>2.4)|temp(1)<14000|ratio<0.55
%利用脸部宽长比的大概上下限(1.54-2.4)来确定一个人脸范围.
%脸部区域<14000的去掉,一般为手或其他干扰.
%矩形面积area_sq=目标区长度*宽度,目标区面积为area,若area/area_sq<0.55,认为不是人脸区,删除之.
for j=1:temp(1);
L(r(j),c(j))=0;
end
else
continue;
end
end
L=bwperim(L,8);%边缘检测,检测出人脸的边缘区域
L=uint8(L);
z=find(L(:)>0);L(z)=255;
figure(5),imshow(L);
L_r=L;L_g=L;L_b=L;
L_rgb=cat(3,L_r,L_g,L_b);%在原图上加框
img1_r=min(L_r+img(:,:,1),255);
img1_g=min(L_g+img(:,:,2),255);
img1_b=min(L_b+img(:,:,3),255);
img1=cat(3,img1_r,img1_g,img1_b);
figure(6),imshow(img1);。