Si j'ai une liste de coordonnées coords = [(7, 354), (307, 339), (304, 296), (4, 311)]
pour un rectangle angulaire. Je voudrais être en mesure de convertir ces quatre points en format x,y,w,h,o
.convertir quatre coordonnées x, y en centroïde, largeur largeur et orientation (py)
Comment puis-je les convertir en paires de x, y en centroïde, en largeur, en hauteur et en orientation? Le centroïde est facile à calculer, tout comme la largeur et la hauteur. Que diriez-vous de l'orientation? Je recherche idéalement un moyen facile de passer de l'un à l'autre. ex. convert_to_xywho()
et 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]))
Toutes les suggestions sur la façon de trouver l'orientation. Et appliquer une telle orientation à x,y,w,h,o
pour obtenir une liste de paires x, y
Remarque: j'utilise le système de coordonnées PyGame dont l'origine est en haut à gauche.
Que signifie "orientation"? –