How to calculate Area ??

5 views (last 30 days)
Mariam Sheha
Mariam Sheha on 13 Jun 2013
Hey every body....
I am asking "how can i compute area of the bounding box and convex hull where i had already get it's parameters?"
Thank you
  2 Comments
Walter Roberson
Walter Roberson on 13 Jun 2013
When you say "already get it's parameters", could you be more specific about what information you already have?
Mariam Sheha
Mariam Sheha on 13 Jun 2013
FOR EXAMPLE: Bounding Box Parmeters for image: 113.5000 138.5000 407.0000 259.0000

Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 13 Jun 2013
Edited: the cyclist on 13 Jun 2013
If you have the vertices of the convex hull, use the polyarea() command.
  2 Comments
Mariam Sheha
Mariam Sheha on 13 Jun 2013
thanx alot , but what if i have more than one vertices for that image
(convex hull i calculate: is for segmented image located at bounding box)
Walter Roberson
Walter Roberson on 14 Jun 2013
polyarea() with a single vertex would tell you that you had area 0. Area is not meaningful until you have at least three vertices. polyarea() is somethng you would apply to the array of vertices.

Sign in to comment.

More Answers (2)

Image Analyst
Image Analyst on 13 Jun 2013
For the bounding boxes, you can simply multiply the last two numbers
area=BoundingBox(3)*BoundingBox(4);
Or you can ask regionprops to calculate the areas of the convex hulls. You just need to pass your binary image into bwconvhull() and then into regionprops
chulls = bwconvhull(binaryImage);
measurements = regionprops(chulls, 'Area', 'BoundingBox');
% Compute the areas of each convex hull:
allAreas = [measurements.Area];
% Compute the area of each bounding box.
boundingBoxes = [blobMeasurements.BoundingBox];
allBBAreas = boundingBoxes(3:4:end) .* boundingBoxes(4:4:end);
  3 Comments
Image Analyst
Image Analyst on 14 Jun 2013
You must have a really old version - time to upgrade. It's been in there for a few years now.
Mariam Sheha
Mariam Sheha on 14 Jun 2013
o0o0ops ok, i thought that i am updated using Matlab 10, i will try to upgrade it... Thanks for the note :)

Sign in to comment.


Walter Roberson
Walter Roberson on 13 Jun 2013
Bounding boxes are usually represented as [x y height width] . In that representation, the area is the height multiplied by the width.
  1 Comment
Mariam Sheha
Mariam Sheha on 13 Jun 2013
Thanks alot, i get your point and i tried it manually and it works, so you mean their are no ready function for that..

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!