Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

How to calculate Area ??

Asked by 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 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 on 13 Jun 2013

FOR EXAMPLE: Bounding Box Parmeters for image: 113.5000 138.5000 407.0000 259.0000

Mariam Sheha

3 Answers

Answer by the cyclist on 13 Jun 2013
Edited by the cyclist on 13 Jun 2013
Accepted answer

If you have the vertices of the convex hull, use the polyarea() command.

2 Comments

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 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.

the cyclist
Answer by 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

Mariam Sheha on 13 Jun 2013

Thanx alot ; Rally your answer is very usefull.... only i wana to ask if you are sure that their is a command named: bwconvhull because it's undefined ?!!

Thank you :)

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 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 :)

Image Analyst
Answer by 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 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..

Walter Roberson

Contact us