2012-03-04 2 views
1

IMAGE1`rot90`はMatlabの画像回転に期待どおりに動作しません。

enter image description here

IMAGE2

enter image description here

所望の画像

enter image description here

は、私は、次のようIMAGE2のように見えるようにIMAGE1を回転させる機能flipudrot90を使用しています:

IMAGE2=rot90(flipud(IMAGE1)); 

しかし、どういうわけか私は所望の画像で望ましい結果を得ることはありません。誰が原因を特定できますか?サイドの凡例を無視してください。DESIRED IMAGEここで

+1

望ましい結果は何ですか? –

+1

これは 'IMAGE2'です。 :) – Pupil

+0

ああ、私は実際の結果だと思った。だから実際の結果は何ですか? –

答えて

1

は(コメントを参照してください)2次元アレイの例です

%# create a 2D array (3x3, but it'll work for 50x50 as well) 
m = magic(3) 
m = 
    8  1  6 
    3  5  7 
    4  9  2 

%# flip, then rotate, but rotate clockwise, hence the -1 
rot90(flipud(m),-1) 
ans = 
    8  3  4 
    1  5  9 
    6  7  2 

%# Note that this is the same as taking the transpose 
m' 
ans = 
    8  3  4 
    1  5  9 
    6  7  2 
+0

こんにちはジョナス:私は画像の代わりに2Dデータを持っています。私は** IMAGE1 **をプロットしています。質問に示されているように、** IMAGE1 **の2D *データ*にIMAGE2 = rot90(flipud(IMAGE1));を適用します。あなたの手順を最初に 'rot90()'にしてから 'flipud()'を試しましたが、うまくいかないようです。あなたはその場合何を提案しますか? – Pupil

+0

@S_H:あなたは私がしたことを正確に追いましたか?私。他の方向に回転します(-1が意味するものです)。順序は重要ではないので、最初に反転して後で回転させることもできます。 – Jonas

+0

私は知っています。しかし、それは動作していないと私はなぜわからない。私はデータを回転させてプロットしています。 – Pupil

関連する問題