2013-05-17 3 views
2

J'ai besoin de trouver des positions de coin de CvBox2D (ou MCvBox2D) pour mapper les contours trouvés sur l'objet de jeu dans XNA. J'ai un problème avec la traduction correcte de l'angle de rotation. Je pensais que ce genre d'opération de base, mais je trouve une solution type dans Internet.OpenCV: Comment obtenir les coins de CvBox2D?

J'ai essayé:

rotationAngle = box.angle * (180.0/ CV_PI); 
angle = box.angle; 
box.angle=rotationAngle; 
alien.X = box.center.X - box.Width/2; 
alien.Y = box.center.Y - box.Height/2; 
alien.angle=angle; 

mais il n'a pas été correctement traduisez.

avait quelqu'un déjà essayé de se coins sur ce type de structure?

Répondre

2

En EmguCV il vous suffit d'appeler

PointF[] corners = box.GetVertices(); 

si box est un MCvBox2D.

+0

Merci, ce fut ce que je dois! – ArturSkowronski

2

La façon la plus simple d'obtenir les sommets d'un CvBox2D est de le convertir en un RotatedRect:

CvBox2D box = ... 
cv::RotatedRect rr(box); 
cv::Point2f vertices[4]; 
rr.points(vertices); 
// vertices now has the four corners your seek 
Questions connexes