How to calculate the centroid of these bounding boxes which their 4 vertices are stored in cell array?

22 views (last 30 days)
How to calculate the centroid of these bounding boxes which their 4 vertices are stored in cell array?
The attached file is xy coordinates of the 4 vertices of the boxes.
The coordinates are in the order:
(left-bottom), (right-bottom), (left-top), (right-top).where each coordinate is an (x, y) pair.. i.e([x1 , y1], [x2, y2], [x3 , y3 ], [x4 , y4 ])
There are 23 bounding box vertices stored in the file.
-Also, I need any angle represents the inclination of whole box with respect to the horizontal x-axis
The output should be 23 angle each represents one box

Accepted Answer

Matt J
Matt J on 12 May 2022
centroids = cellfun(@(z) mean(cell2mat(z(:))) ,c ,'UniformOutput' ,false)
  6 Comments
Image Analyst
Image Analyst on 13 May 2022
I don't understand. Box sides are perfectly aligned and parallel with the x and y axes. So what do you mean by angle? Bounding boxes are not inclined to the axes. An angle can be defined by 3 points : the vertex point, and the 2 end points of rays. How are you defining your angle? A diagram would be helpful.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by