Filter löschen
Filter löschen

How to crop detected face part?

1 Ansicht (letzte 30 Tage)
Sana Ullah
Sana Ullah am 3 Dez. 2019
Kommentiert: Sana Ullah am 3 Dez. 2019
a=imread('C:\Users\SanaUllah\Documents\MATLAB\face.jpg');
a=imresize(a,1);
subplot(3,3,1);
imshow(a);
detector=vision.CascadeObjectDetector('mouth');
detector.MergeThreshold=60;
boundingbox=step(detector,a);
out=insertObjectAnnotation(a,'rectangle',boundingbox,'mouth Detected','LineWidth',3,'TextColor','black');
subplot(3,3,2);
imshow(out)
  1 Kommentar
Sana Ullah
Sana Ullah am 3 Dez. 2019
image.jpeg
sorry i havent shown the detected mouth picture but
through above programming i have detected the mouth but now i have no idea how to crop the detected mouth.
please someone help me in this .

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 3 Dez. 2019
Try this:
rgbImage = imread('face.jpeg');
rgbImage = imresize(rgbImage,1);
subplot(2, 3, 1);
imshow(rgbImage);
axis('on', 'image');
drawnow;
detector=vision.CascadeObjectDetector('mouth');
detector.MergeThreshold=60;
allBoundingBoxes=step(detector,rgbImage)
out = insertObjectAnnotation(rgbImage,'rectangle',allBoundingBoxes,'mouth Detected','LineWidth',3,'TextColor','black');
subplot(2, 3, 2);
imshow(out)
axis('on', 'image');
% Crop out each bounding box to a new image.
for k = 1 : size(allBoundingBoxes, 1)
% Crop the image.
thisBoundingBox = allBoundingBoxes(k, :);
croppedImage = imcrop(rgbImage, thisBoundingBox);
% Display it
subplot(2, 3, k+2);
imshow(croppedImage)
axis('on', 'image');
end
0000 Screenshot.png
  1 Kommentar
Sana Ullah
Sana Ullah am 3 Dez. 2019
Ohh God this Answer is perfect ?. I have seen many of your answers on other problems. I was just waiting for you to guide me on this problem . Thank you so much Sir.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

KALYAN ACHARJYA
KALYAN ACHARJYA am 3 Dez. 2019
Please see my this answer, it may help
  1 Kommentar
Sana Ullah
Sana Ullah am 3 Dez. 2019
thank you sir that was very helpfull.

Melden Sie sich an, um zu kommentieren.


Philippe Lebel
Philippe Lebel am 3 Dez. 2019
Bearbeitet: Philippe Lebel am 3 Dez. 2019
RGB Images are 3D matrices with dimenions = (resolution_x, resolution_y, 3)
I suppose the bounding box contains the face.
Try this:
my_face = a(boundingbox(1):boundingbox(1)+boundingbox(3),boundingbox(2):boundingbox(2)+boundingbox(4), : )

Kategorien

Mehr zu Convert Image Type finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by