how to retrieve pixel values from bounding box of an image.

5 vues (au cours des 30 derniers jours)
sami ullah
sami ullah le 4 Nov 2020
Commenté : Ameer Hamza le 5 Nov 2020
Following is a code to create a bounding box of the detected face.
clear all
clc
faceDetector = vision.CascadeObjectDetector;
I = imread('visionteam.jpg'); % RGB IMage
figure
imshow(I)
title('Input Image')
bboxes = step(faceDetector, I);
IFaces = insertObjectAnnotation(I, 'Rectangle', bboxes, 'Face');
figure, imshow(IFaces), title('Detected faces');
--------------------------------------------------------------------
My question is:
How can I obtain pixel values inside this bounding box area?
Store the retrieved values in M by N by 3 matrix, after obtaining the pixel values under the bounding box area. How can it be done?

Réponse acceptée

Ameer Hamza
Ameer Hamza le 4 Nov 2020
Modifié(e) : Ameer Hamza le 4 Nov 2020
See imcrop(): https://www.mathworks.com/help/images/ref/imcrop.html. For example, add following lines at end of your code
faces = cell(1, size(bboxes,1));
for i=1:numel(faces)
faces{i} = imcrop(I, bboxes(i,:));
end
It will save each face in the cell array.
  4 commentaires
sami ullah
sami ullah le 5 Nov 2020
Thanks a lot Ameer Hamza
Ameer Hamza
Ameer Hamza le 5 Nov 2020
I am glad to be of help!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by