2

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;

しかし、それは正しく翻訳されていませんでした。

誰かがこの種の構造物に手がかりをつけようとしたことがありますか?

4

2 に答える 2

2

CvBox2D の頂点を取得する最も簡単な方法は、RotatedRect に変換することです。

CvBox2D box = ...
cv::RotatedRect rr(box);
cv::Point2f vertices[4];
rr.points(vertices);
// vertices now has the four corners your seek
于 2013-05-17T03:07:57.217 に答える