Finding area from the bounding box created by vision.blobAnalysis
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Dima Lisin
2015-7-14
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.
4 个评论
Dima Lisin
2015-7-15
Hi Akira,
Just to clarify: vision.BlobAnalysis is a class, like in Java or C++. step() is a method of this class. The same method exists in many other classes, and it always means "do your thing". In this particular case, "do your thing" means do blob analysis on a binary image, and return the properties of the blobs.
This is why you cannot say step(Final, ...). Final is a numeric array, not a MATLAB class, so there is no step method for it.
If you want to display the blob information on the image, you can use the following functions: insertObjectAnnotation, insertShape, insertText. Please see their documentation for details.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!