OpenCV:如何获取CvBox2D的角点?
我需要找到OpenCV:如何获取CvBox2D的角点?,opencv,xna,emgucv,Opencv,Xna,Emgucv,我需要找到CvBox2D(或MCvBox2D)的角位置,以便在XNA中的游戏对象上映射找到的轮廓。我对旋转角度的正确平移有问题。我认为这是一种基本的操作,但我想在互联网上找到任何解决办法 我试过: 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
CvBox2D
(或MCvBox2D
)的角位置,以便在XNA中的游戏对象上映射找到的轮廓。我对旋转角度的正确平移有问题。我认为这是一种基本的操作,但我想在互联网上找到任何解决办法
我试过:
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;
但它没有正确地翻译它
是否有人尝试过在这种结构上获取角点?获取CvBox2D顶点的最简单方法是将其转换为旋转体:
CvBox2D box = ...
cv::RotatedRect rr(box);
cv::Point2f vertices[4];
rr.points(vertices);
// vertices now has the four corners your seek
获取CvBox2D顶点的最简单方法是将其转换为RotatedRect:
CvBox2D box = ...
cv::RotatedRect rr(box);
cv::Point2f vertices[4];
rr.points(vertices);
// vertices now has the four corners your seek
在EmguCV中,你只需要打电话
PointF[] corners = box.GetVertices();
如果
box
是EmguCV中的MCvBox2D
,则只需调用
PointF[] corners = box.GetVertices();
如果
box
是MCvBox2D
谢谢,那就是我需要的!谢谢,这正是我需要的!