2016-05-27 9 views
0

私はJavaでOpenCVを使用しています。OpenCvのRotatedRectのローテーション

私はRotatedRectを持っていますが、私はこのRotatedRectを回転させ、新しいRotatedRectまたはRectだけを取得したいと考えています(縦または横を厳密に回転させる場合)。それを言う:

RotatedRect rr = ...; //existing RotatedRect 
RotatedRect result = rotateRotatedRect(rr, angle); 

私は、rotateRotatedRect()メソッドのためにsmthが必要です。私の2番目の質問がある

は、私がRotatedRectをスケールする(中心からスケーリングやコーナーの一つからで結構です)

あなたは何も私を提案することができます。私はこれを実装することができますが、時間と論理を必要とします。ありがとうございました。

答えて

1

あなたがdocumentationで見ることができるように:

クラスRotatedRect

  • ダブル角度(時計方向の回転角度)

  • ポイントセンター(長方形質量センター)

  • サイズサイズ(幅と矩形の高さ)

回転やスケーリングを実現するには、直接RotatedRectの変数を変更することができます。

RotatedRect rr = ...; // existing RotatedRect 
rr.angle += 30;  // rotates 30 degrees clockwise 
rr.size.width *= 2; // scales width by 2 
rr.size.height *= 2; // scales height by 2 
+0

ありがとうございます。私はちょうどソースコードを探して、あなたは正しいです!私はそれがこのようなものかもしれないとは思わなかった。私はネイティブレベルでの計算を期待していました。 – RustamIS

+0

@RustamIS :) 'centered 'を動かすことによって' RotatedRect'を動かす(翻訳する)ことができます。 – Berriel

関連する問題