How to draw centroid that include the value inside bounding box?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Erik S.
2015-2-9
Hi
Use the vision.BlobAnalysis method. It returns both bounding box and centroid.
1 个评论
Image Analyst
2015-2-9
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
2015-2-9
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Computer Vision with Simulink 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!