如果我有一个角度矩形的坐标coords = [(7, 354), (307, 339), (304, 296), (4, 311)]
列表。我希望能够将这四个点转换为x,y,w,h,o
格式。
如何将x,y对的这些转换为质心,宽度,高度和方向?质心易于计算,宽度和高度也很容易计算。方向怎么样?
我理想地寻找一种在两者之间切换的简单方法。恩。 convert_to_xywho()
和convert_to_xy_list()
p1, p2 = end[:2]
p3, p4 = end[2:]
w = math.hypot(p2[0] - p1[0], p2[1] - p1[1])
h = math.hypot(p3[0] - p2[0], p3[1] - p2[1])
c = [[p1[0], p2[0], p3[0], p4[0]], [p1[1], p2[1], p3[1], p4[1]]]
centroide = (sum(c[0])/len(c[0]),sum(c[1])/len(c[1]))
有关如何查找方向的任何建议。并将此方向应用于x,y,w,h,o
以获取x,y对的列表
注意:我正在使用PyGame坐标系,其原点位于左上角。
答案 0 :(得分:1)
方向来自一个线段的倾斜。
tan(theta) = (y2-y1) / (x2-x1)
我怀疑你可以从那里完成。