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

3 次查看(过去 30 天)
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

采纳的回答

Matt J
Matt J 2022-5-12
centroids = cellfun(@(z) mean(cell2mat(z(:))) ,c ,'UniformOutput' ,false)
  6 个评论
M
M 2022-5-12
编辑:M 2022-5-12
@Matt J, The coordinates are in the order:
(left-bottom), (right-bottom), (left-top), (right-top).where each coordinate is an (x, y) pair..
I need any angle represents the inclination of whole box with respect to the x-axis
The output should be 23 angle each represents one box
Image Analyst
Image Analyst 2022-5-13
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 3-D Scene Control 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by