www.gusucode.com > 程序实现人脸特征的检测和定位,可以识别并标注眉毛,眼 > 程序实现人脸特征的检测和定位,可以识别并标注眉毛,眼睛,鼻子,嘴巴以及耳朵。能用于单人和多人脸图的检测识别/main.m

    %% Program Instruction
%%%%%%  This program is performed to implement the human facial feature
%%%%%%  detection based on computer Vision System Toolbox in Matlab.
%%%%%%  Author: 
%%%%%%  Youyi Feng
%%%%%%  Constrution Information Technology of Civil Engineering
%%%%%%  West Virginia University 
%%%%%%  Morgantown, 26506
%%%%%%  Email: yofeng@mix.wvu.edu

%% Program start
clear all
clc
%% To detect Face
Face_Detect = vision.CascadeObjectDetector;
%Read the input image
Img = imread('2.jpg');

%Returns Bounding Box values based on number of objects
Face = step(Face_Detect,Img);
figure,
imshow(Img); hold on
for i = 1:size(Face,1)
    rectangle('Position',Face(i,:),'LineWidth',5,'LineStyle','-','EdgeColor','r');
end
title('Face Detection');
hold off;

%% To detect Nose
Nose_Detect = vision.CascadeObjectDetector('Nose','MergeThreshold',16);
Nose = step(Nose_Detect,Img);
figure,
imshow(Img); hold on
for i = 1:size(Nose,1)
    rectangle('Position',Nose(i,:),'LineWidth',4,'LineStyle','-','EdgeColor','b');
end
title('Nose Detection');
hold off;

%% To detect Mouth
Mouth_Detect = vision.CascadeObjectDetector('Mouth','MergeThreshold',16);

Mouth = step(Mouth_Detect,Img);
figure,
imshow(Img); hold on
for i = 1:size(Mouth,1)
 rectangle('Position',Mouth(i,:),'LineWidth',4,'LineStyle','-','EdgeColor','r');
end
title('Mouth Detection');
hold off;


%% To detect Eyes
Eye_Detect = vision.CascadeObjectDetector('EyePairBig');

Eyes=step(Eye_Detect,Img);
figure,imshow(Img);
for i = 1:size(Eyes,1)
 rectangle('Position',Eyes(i,:),'LineWidth',4,'LineStyle','-','EdgeColor','r');
end
%rectangle('Position',BB,'LineWidth',4,'LineStyle','-','EdgeColor','b');
title('Eyes Detection');