在matlab中的边界框坐标测量

时间:2016-03-21 05:07:03

标签: matlab

我是matlab的新手。我想测量RGB或灰度图像中边界框的x和y坐标和质心。我不知道该怎么做才能解决这个问题。任何人都可以帮我解决这个问题吗?

这是我到目前为止的代码

frame=step(obj);
bbox=step(faceDetector,frame);
boxInserter  = insertObjectAnnotation(frame,'rectangle',bbox, 'Face Detected');
imshow(boxInserter,'border','tight');  

1 个答案:

答案 0 :(得分:0)

根据您的框架所具有的面数,step方法会返回具有不同尺寸的bbox矩阵,其中包含边界框本身的坐标。有关bbox的说明,请参阅此处:

https://www.mathworks.com/help/vision/ref/vision.cascadeobjectdetector.step.html

所以,例如,

% Create a cascade detector object.
faceDetector = vision.CascadeObjectDetector();

% Read a video frame and run the detector.
videoFileReader = vision.VideoFileReader('visionface.avi');
videoFrame      = step(videoFileReader);
bbox            = step(faceDetector, videoFrame); 

bbox

中返回此内容
264   122    93    93

这些数字的格式为:[x y width height]

所以面部的x,y位置是[264,122]。从这些数字计算质心应该相当简单。