`rot90` не работает должным образом для поворота изображения в Matlab. - PullRequest
0 голосов
/ 04 марта 2012

ИЗОБРАЖЕНИЕ1

enter image description here

ИЗОБРАЖЕНИЕ2

enter image description here

ЖЕЛАЕМОЕ ИЗОБРАЖЕНИЕ

enter image description here

Я использую функции flipud и rot90 для поворота ИЗОБРАЖЕНИЕ1 , чтобы выглядеть как ИЗОБРАЖЕНИЕ2 следующим образом:

IMAGE2=rot90(flipud(IMAGE1));

Тем не менее, почему-то я не получаю желаемый результат, который является Желаемое изображение .Кто-нибудь может определить, почему?Пожалуйста, не обращайте внимания на вырез боковой легенды в Желаемое изображение .

1 Ответ

1 голос
/ 04 марта 2012

Вот пример для 2D-массива (см. Комментарии)

%# 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
...