imcrop a specific bounding box

8 次查看(过去 30 天)
Oliver Ferenczi
Oliver Ferenczi 2020-2-24
Hi, I am trying to write code that will crop around a specific bounding box on appdesigner. It currently works when there is only a single bounding box in the image. However when there are several it wouldn't know which box to crop around.
This is the current code.
bboxes = step(faceDetector, faceimage);
CroppedFaces = imcrop(app.Faces,bboxes);
Thank you
  1 个评论
Chaitanya Mallela
if the faceDetector object has Bounding Box property, try to Label every Bounding Box and execute imcrop command in a loop whose max iteration value equals Number of Labels.

请先登录,再进行评论。

回答(1 个)

Josep Llobet
Josep Llobet 2022-3-24
You can try the next code:
Obtain the image example
% __JUST OBTAIN THE IMAGE__%
% Obtain image
krillin = imread("https://es.mathworks.com/responsive_image/150/150/0/0/0/cache/matlabcentral/profiles/22817879_1627284404454.jpg");
% Process it
krillin_grey = im2gray(krillin);
krillin_grey_imadj = imadjust(krillin_grey);
krillin_BW = imbinarize(krillin_grey_imadj);
krillin_BW_2 = imclearborder(~krillin_BW);
% Labels (not necessary)
% krillin_BW_2_bwlab = bwlabel(krillin_BW_2);
% unique(krillin_BW_2_bwlab(:))
% imshow(krillin_BW_2_bwlab, [])
% Obtain the three major objects
krillin_BW_2_largest = bwpropfilt(krillin_BW_2, "Area", 3, "largest");
imshow(krillin_BW_2_largest)
Crop the Bounding Boxes
% __CROP THE BOUNDING BOXES__%
BB = regionprops(krillin_BW_2_largest,'BoundingBox'); %<--- rellevant
for every_BB = 1:length(BB)
BB(every_BB).BoundingBox;
krillin_BW_BB = imcrop(krillin, BB(every_BB).BoundingBox+[-1 -1 1 1]); %Es retalla la imatge basant-se amb el BoundingBox.
% change v'krillin' for v'krillin_BW_2_largest' for obtain the binary images of bounding box
figure
imshow(krillin_BW_BB)
end
From the image: you must obtain:

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by