How to draw centroid that include the value inside bounding box?
1 view (last 30 days)
Show older comments
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)
0 Comments
Answers (2)
Erik S.
on 9 Feb 2015
Hi
Use the vision.BlobAnalysis method. It returns both bounding box and centroid.
1 Comment
Image Analyst
on 9 Feb 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
on 9 Feb 2015
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 Comments
See Also
Categories
Find more on Computer Vision with Simulink in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!