How to detect eyes and mouth on a single image in MATLAB?

22 ビュー (過去 30 日間)
Anand
Anand 2014 年 3 月 6 日
回答済み: 123 2018 年 3 月 22 日
At the moment this code detect eyes and mouth in separate images, how can i combine these facial parts in 1 image, does anyone know how i would combine these features and output them in a single image.
Thankyou
%Read the input image I = imread('extract1.png');
%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','r');
end
title('Mouth Detection');
hold off;
%To detect Eyes
EyeDetect = vision.CascadeObjectDetector('EyePairBig');
BB=step(EyeDetect,I);
figure,imshow(I);
rectangle('Position',BB,'LineWidth',4,'LineStyle','-','EdgeColor','b');
title('Eyes Detection');
  1 件のコメント
Anand
Anand 2014 年 3 月 6 日
can someone help me please?

サインインしてコメントする。

採用された回答

Anand
Anand 2014 年 3 月 6 日
%Read the input image
I = imread('extract1.png');
%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','r');
end
%To detect Eyes
EyeDetect = vision.CascadeObjectDetector('EyePairBig');
BB=step(EyeDetect,I);
hold on
rectangle('Position',BB,'LineWidth',4,'LineStyle','-','EdgeColor','b');
Just don't create a second figure like you're doing. Use the same figure and hold on.

その他の回答 (2 件)

veeresh singh
veeresh singh 2014 年 5 月 2 日
the above algo detects the regions by surrounding them with the rectangle regions...how to display the rectangular regions separately?...any code for automatically cropping that region and display it separately?
  2 件のコメント
Image Analyst
Image Analyst 2014 年 5 月 2 日
That's not how it detects them. That's how it indicates them so you can see what it found, after they've been detected. You can crop out the sub image like this:
subImage = imcrop(I, BB); % Crop box BB out of image "I".
PRABHJOT SINGH
PRABHJOT SINGH 2014 年 10 月 1 日
編集済み: PRABHJOT SINGH 2014 年 10 月 1 日
x = imcrop(I,BB(i,:));
imshow (I)
this would work and solve your problem ;)

サインインしてコメントする。


123
123 2018 年 3 月 22 日
Can someone please give me a code to find the eyes and mouth. thank you very much

カテゴリ

Help Center および File ExchangeImage Processing and Computer Vision についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by