Effacer les filtres
Effacer les filtres

How to crop detected face part?

3 vues (au cours des 30 derniers jours)
Sana Ullah
Sana Ullah le 3 Déc 2019
Commenté : Sana Ullah le 3 Déc 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 commentaire
Sana Ullah
Sana Ullah le 3 Déc 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 .

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 3 Déc 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 commentaire
Sana Ullah
Sana Ullah le 3 Déc 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.

Connectez-vous pour commenter.

Plus de réponses (2)

KALYAN ACHARJYA
KALYAN ACHARJYA le 3 Déc 2019
Please see my this answer, it may help
  1 commentaire
Sana Ullah
Sana Ullah le 3 Déc 2019
thank you sir that was very helpfull.

Connectez-vous pour commenter.


Philippe Lebel
Philippe Lebel le 3 Déc 2019
Modifié(e) : Philippe Lebel le 3 Déc 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), : )

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by