私はどの方向に90度回転する必要がある画像を持っているとしましょう、私はちょうどその明確にする方法を理解できません。幅 - それはX、高さ - Yです。すでに180度回転していますが、90度は分かりません。回転行列/画像の公式90度C++
ここに例があります。 3x4ピクセルの画像があるとしましょう。幅= 3、高さ= 4、各セルのデータ量 - N = Width * Height = 3 * 4 = 12
。さんが行列を作ってみましょう:
簡単に行列を通過する式はy*Width + x
です。そして、我々の回転180度の式は次のとおりです。
N - Width + x - y * Width
だから我々は持っている:我々が得る
次の式を使用してDataOut [y * Width + x] = DataIn [N - Width + x - y * Width]
を:
をしかし、私は来ることができません式は90度回転します。私を助けてくれますか?
:
と1次元配列で90度の回転行列は '[[0、-1]、[1,0]]'であり、180度行列は '[[-1、0]、[0、-1]]'です。各点に行列を掛けて、点の回転した位置を取得します。任意の角度「a」について、回転行列は、[[cos(a)、-sin(a)]、[sin(a)、cos(a)]] 'である。 – thebjorn