我想在python中计算矩形的x和y,给定矩形坐标如下:
coord = (601, 1006,604, 1009)
有人可以指出一个简单的方法来计算矩形的质心。
由于
答案 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个相反点,你可以使用它:
计算的质心点:
只是一个建议: 您可以在程序中编写检查部分。您应该检查程序获得的参数。它不是基本运行所必需的,但如果程序检查矩形是一个真正的矩形会更好。
答案 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)