How to draw centroid that include the value inside bounding box?
Afficher commentaires plus anciens
Hello, I want to ask for a little help. I'm writing a coding here on face tracking. But I dont know how to draw the centroid which also include the value inside the bounding box. Here's the coding:
clc
clear
%Create a detector object.
faceDetector = vision.CascadeObjectDetector;
%Read input image from Lenovo EasyCamera
obj = imaq.VideoDevice('winvideo', 1, 'MJPG_320x240');
set(obj,'ReturnedColorSpace','rgb');
%Preview(obj)
figure('menubar','none','tag','webcam');
while(true)
frame=step(obj);
%Detect faces.
bboxes = step(faceDetector,frame);
%Annotate detected faces.
IFaces = insertObjectAnnotation(frame,'rectangle',bboxes,'ME');
imshow(IFaces,'border','tight')
f=findobj('tag','webcam');
if(isempty(f))
close(gcf)
break
end
pause(0.05)
end
%closepreview(obj)
release(obj)
Réponses (2)
Erik S.
le 9 Fév 2015
0 votes
Hi
Use the vision.BlobAnalysis method. It returns both bounding box and centroid.
1 commentaire
Image Analyst
le 9 Fév 2015
MOHAMAD's "Answer" moved here since it's not an Answer to the original question:
If I'm using vision.CascadeObjectDetector, can it be done too? Thank you for your help Erik S. :)
Dima Lisin
le 9 Fév 2015
0 votes
Hi Mohamad,
vision.CascadeObjectDetector gives you bounding boxes of the form [x, y, width, height]. You can compute the centers of the bounding boxes as follows centers = bboxes(:, 1:2) + bboxes(:, 3:4) / 2. Then you can use the insertMarker function to mark the centers in your image.
4 commentaires
MOHAMAD AFIF
le 10 Fév 2015
Modifié(e) : MOHAMAD AFIF
le 10 Fév 2015
Dima Lisin
le 10 Fév 2015
MOHAMAD AFIF
le 11 Fév 2015
MOHAMAD AFIF
le 12 Fév 2015
Catégories
En savoir plus sur Image Category Classification dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!