在python中计算矩形的质心

时间:2017-02-01 14:18:49

标签: python rectangles centroid

我想在python中计算矩形的x和y,给定矩形坐标如下:

coord = (601, 1006,604, 1009)

有人可以指出一个简单的方法来计算矩形的质心。

由于

4 个答案:

答案 0 :(得分:1)

具有相对角(x1, y1)(x2, y2)的矩形的质心位于该矩形的中心((x1+x2)/2, (y1+y2)/2)

答案 1 :(得分:1)

首先,我假设通过说质心,你的意思是中心。接下来,我假设coord元组的格式为:(x,y,width,height)。在这种情况下,它将以这种方式完成:

coord = (601, 1006, 604, 1009)
centerCoord = (coord[0]+(coord[2]/2), coord[1]+(coord[3]/2))

其中centerCoord是格式为(x,y)的中心坐标。

答案 2 :(得分:0)

如果你有正确的矩形坐标,你可以用公式轻松计算质心点坐标:

如果你有矩形的2个相反点,你可以使用它:

  • A点:X1; Y1
  • B点:X2; Y2

计算的质心点:

  • Coord X:(x1 + x2)/ 2
  • Coord Y:(y1 + y2)/ 2

只是一个建议: 您可以在程序中编写检查部分。您应该检查程序获得的参数。它不是基本运行所必需的,但如果程序检查矩形是一个真正的矩形会更好。

答案 3 :(得分:0)

我认为这应该为您带来启发。我将使用 openCV 库使该示例更易于理解。

要找到一个中心,您需要进行协调: x y

# Draw a rectangle on the image. pt1 = left upper corner, pt2 = right bottom corner
cv2.rectangle(img=your_image, pt1=(px1_width, px2_height), pt2=(px3_width, px4_height), color=(0, 255, 0), thickness=3)
# Calculate the center point of rectangle
x, y = (px1_width + px3_width) // 2, (px2_height + px4_height) // 2
# Draw a circle in the center of rectangle
cv2.circle(img=your_image, center=(x, y), radius=3, color=(0, 255, 0), thickness=3)