我必须找到多个矩形的确切质心。每个矩形的坐标如下:
coord = (0.294792, 0.474537, 0.0989583, 0.347222) ## (xcenter, ycenter, width, height)
我有大约 200 个矩形,如何计算它们的质心?
我已经尝试过实作它,但是代码效果不佳。
我的代码:
for i in range(len(xCenter)):
center = np.array((xCenter[i] (Width[i]/2), yCenter[i] (Height[i]/2)))
uj5u.com热心网友回复:
这是一个有点模糊的问题,但是如果您的意思是所有矩形的质心按面积计算,那么矩形的每个中心都由矩形的面积加权。把它想象成矩形的所有质量都被压缩到中心,然后必须取几个加权点的质心。其公式将是 Area(Rec(i)) * vec(center(i)) 的 1 到 n(假设矩形编号为 1 到 n)的总和除以系统的总质量(所有区域)。如果您一般指的是区域的质心,忽略矩形重叠,那就有点棘手了。您可以做的一件事是针对每个矩形,对照所有其他矩形检查它,如果一对矩形重叠,则将它们分成一组不重叠的矩形,然后将它们放回矩形组中。
0 评论