2015-01-25 4 views
0

Я ищу способ поворота изображения в осях в Matlab. Я попытался достичь этого, используя rotate и imrotate, но обе функции для меня не работают. У кого-нибудь есть идея, как решить мою проблему?Как повернуть объект осей в Matlab

imshow(imread('theImage.png'),'Parent',handles.axes3); 

imrotate(handles.axes3, 45); %simply doesn't work 
set(handles.axes3,'Rotation',45); %no 'Rotation' in axes 
%I don't even know how to use just rotate() 
+0

показать, что вы пробовали, тогда мы сможем вам помочь –

+1

Действительно? Минус, потому что я отправил только имя функции вместо кода? – Luke

+3

, хотя это может и не быть заслуживающим внимания, просто упоминание имени функции, которую вы пробовали, не так полезно. Функция может быть правой, но вызвана с неправильными параметрами. Если вы попросите кого-нибудь о помощи, сообщите им столько, сколько сможете, вместо того, чтобы задать несколько дополнительных вопросов, чтобы точно определить вашу проблему. – Hoki

ответ

2

Просто чтобы быть ясно, что нет никакого способа, чтобы повернуть axes объект. Но вы можете поворачивать данные изображения, а затем отображать их снова в их повернутом состоянии.

Функция imrotate выполняет поворот «данных изображения», которые вы подаете на вход, и возвращаете матрицу, представляющую данные с повернутым изображением. Поэтому в вашем случае не отображаются непосредственно после прочтения файла. Получить данные изображения в переменной, вращать, что с imrotate, а затем отображать повернутое изображение (или делать то, что вам нужно с ним)

В качестве примера:

img = imread('peppers.png') ; %// get the image data into the variable "img" 
img2 = imrotate(img,90) ;  %// get the "rotated" image data into the variable "img2" 

%// display both "img" and "img2" 
subplot(1,2,1) ; imshow(img) 
subplot(1,2,2) ; imshow(img2) 

будет производить: rotated

Смежные вопросы