MATLAB: Finding area from the bounding box created by vision.blobAnalysis

area of bounding boxblobanalysiscomputer vision systemComputer Vision Toolbox

Greetings fellow programmers,
As stated in the title, is there a possible way to extract information from the boundingbox created by the function vision.blobanalysis?
blob = vision.BlobAnalysis('BoundingBoxOutputPort', true,'MinimumBlobAreaSource', 'Property','MinimumBlobArea', 200);
The reason for this is to find the area from the [x y width height] boundary box and then multiply the 3rd and 4th parameter (width x height) to obtain the area of the bounding box.
These are similar methods but used in the image processing instead,
bb = stats(K).BoundingBox;
barea = bb(3) * bb(4);
fprintf('Area #%d x = %d y = %d, K, bb(1), bb(2)...);
Is there a way to do the same thing like this in computer vision toolbox using the blob Analysis? Thank you very much.
Regards, Akira

Best Answer

Hi Akira,
Yes, of course.
blob = vision.BlobAnalysis('BoundingBoxOutputPort', true,'MinimumBlobAreaSource', 'Property','MinimumBlobArea', 200);
Creates an object called blob. To get the connected components from an image, you should now use the step() method:
[areas, centroids, boundingBoxes] = step(blob, I);
where I is a binary image. areas will contain the areas of the connected components. You can control what outputs you get using the object's properties. AreaOutputPort, CentroidOutputPort, and BoundingBoxOutputPort are true by default.