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

7 ビュー (過去 30 日間)
sami ullah
sami ullah 2020 年 11 月 4 日
コメント済み: Ameer Hamza 2020 年 11 月 5 日
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?

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 11 月 4 日
編集済み: Ameer Hamza 2020 年 11 月 4 日
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 件のコメント
sami ullah
sami ullah 2020 年 11 月 5 日
Thanks a lot Ameer Hamza
Ameer Hamza
Ameer Hamza 2020 年 11 月 5 日
I am glad to be of help!

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

その他の回答 (0 件)

製品


リリース

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by