I need some help in detecting nose, eyes and lips from a face image of 48x48 image.
2 views (last 30 days)
Show older comments
I have tried the following code on my dataset. but it's not detecting the facial parts. please help me
clear all clc %Detect objects using Viola-Jones Algorithm
%To detect Face FDetect = vision.CascadeObjectDetector;
%Read the input image I = imread('28783.jpg');
%Returns Bounding Box values based on number of objects BB = step(FDetect,I);
figure, imshow(I); hold on for i = 1:size(BB,1) rectangle('Position',BB(i,:),'LineWidth',5,'LineStyle','-','EdgeColor','r'); end title('Face Detection'); hold off; %To detect Nose NoseDetect = vision.CascadeObjectDetector('Nose','MergeThreshold',16); BB=step(NoseDetect,I); figure, imshow(I); hold on for i = 1:size(BB,1) rectangle('Position',BB(i,:),'LineWidth',4,'LineStyle','-','EdgeColor','b'); end title('Nose Detection'); hold off; %To detect Mouth MouthDetect = vision.CascadeObjectDetector('Mouth','MergeThreshold',16); BB=step(MouthDetect,I); figure, imshow(I); hold on for i = 1:size(BB,1) rectangle('Position',BB(i,:),'LineWidth',4,'LineStyle','-','EdgeColor','g'); end title('Mouth Detection'); hold off; %To detect Eyes EyeDetect = vision.CascadeObjectDetector('EyePairBig'); BB=step(EyeDetect,I); figure,imshow(I); hold on for i = 1:size(BB,1) rectangle('Position',BB(i,:),'LineWidth',4,'LineStyle','-','EdgeColor','b'); end rectangle('Position',BB,'LineWidth',4,'LineStyle','-','EdgeColor','b'); title('Eyes Detection'); Eyes= imcrop(I,BB(i,:)); Eyes=imcrop(I,BB); figure,imshow(Eyes);
1 Comment
vai zach
on 22 Sep 2020
clear all
clc
%Detect objects using Viola-Jones Algorithm
%To detect Face
FDetect = vision.CascadeObjectDetector;
%Read the input image
I = imread('1.png');
%Returns Bounding Box values based on number of objects
BB = step(FDetect,I);
figure,
imshow(I); hold on;
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',5,'LineStyle','-','EdgeColor','r');
end
title('Face Detection');
hold off;
%To detect Nose
NoseDetect = vision.CascadeObjectDetector('Nose','MergeThreshold',16);
BB=step(NoseDetect,I);
figure,
imshow(I); hold on;
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',4,'LineStyle','-','EdgeColor','b');
end
title('Nose Detection');
hold off;
%To detect Mouth
MouthDetect = vision.CascadeObjectDetector('Mouth','MergeThreshold',300);
BB=step(MouthDetect,I);
figure,
imshow(I); hold on;
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',4,'LineStyle','-','EdgeColor','g');
end
title('Mouth Detection');
hold off;
%To detect Eyes
EyeDetect = vision.CascadeObjectDetector('EyePairBig');
BB=step(EyeDetect,I);
figure,imshow(I);
hold on;
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',4,'LineStyle','-','EdgeColor','b');
end
title('Eyes Detection');
hold off;
Eyes= imcrop(I,BB(i,:));
Eyes=imcrop(I,BB);
figure,imshow(Eyes);
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!