Finding area from the bounding box created by vision.blobAnalysis
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Akira Chan
am 14 Jul. 2015
Kommentiert: Akira Chan
am 15 Jul. 2015
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 Kommentare
Akzeptierte Antwort
Dima Lisin
am 14 Jul. 2015
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 Kommentare
Dima Lisin
am 15 Jul. 2015
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.
Weitere Antworten (0)
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!