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

6 Ansichten (letzte 30 Tage)
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?

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 4 Nov. 2020
Bearbeitet: Ameer Hamza am 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 Kommentare
sami ullah
sami ullah am 5 Nov. 2020
Thanks a lot Ameer Hamza
Ameer Hamza
Ameer Hamza am 5 Nov. 2020
I am glad to be of help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by