% MATLAB code for face detection
Detector=vision.CascadeObjectDetector('EyePairBig');
Detector.MinSize=[11 45];
Detector.MergeThreshold=16;
DDetector=vision.CascadeObjectDetector('Mouth');
DDetector.MinSize=[15 25];
DDetector.MergeThreshold=16;
EDetector=vision.CascadeObjectDetector('Nose');
EDetector.MinSize=[15 18];
EDetector.MergeThreshold=16;
CDetector=vision.CascadeObjectDetector('EyePairSmall');
CDetector.MinSize=[5 22];
CDetector.MergeThreshold=16;
% Read an images
I=imread("face.jpg");
J=imread("face.jpg");
K=imread("face.jpg");
L=imread("face.jpg");
bbox=step(Detector,I);
box=step(DDetector,J);
cbox=step(EDetector,K);
dbox=step(CDetector,L);
% Functions for face fecefeatures detection
FaceFeature=insertObjectAnnotation(I,'rectangle',bbox,'Detected');
FaceFeature2=insertObjectAnnotation(J,'rectangle',box,'Detected');
FaceFeature3=insertObjectAnnotation(K,'rectangle',cbox,'Detected');
FaceFeature4=insertObjectAnnotation(L,'rectangle',dbox,'Detected');
figure;
% Plot
subplot(2,2,1);
% For showing facefeatures
imshow(FaceFeature);
title('EYES detected');
subplot(2,2,2);
imshow(FaceFeature2);
title('MOUTH detected');
subplot(2,2,3);
imshow(FaceFeature3);
title('NOSE detected');
subplot(2,2,4);
imshow(FaceFeature4);
title('EYE SMALL detected');