如何找到多个矩形的质心 - Python

How to find the centroid of multiple rectangles - Python

我必须找到多个矩形的确切质心。每个矩形的坐标如下:

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

这是一个有点模糊的问题,但如果你是指所有矩形的质心按面积计算,那么矩形的每个中心都由矩形的面积加权。把它想象成矩形的所有质量被压缩到中心,然后必须取几个加权点的质心。该公式将是 Area(Rec(i)) * vec(center(i)) 的 1 到 n(假设矩形编号为 1 到 n)的总和除以系统的总质量(总和所有地区)。如果您指的是一般区域的质心,忽略矩形重叠,那就有点棘手了。您可以做的一件事是针对每个矩形,将其与所有其他矩形进行比较,如果一对矩形重叠,则将它们分成一组不重叠的矩形,然后将它们放回矩形组中。一旦所有矩形都不重叠,按质量找到质心。