PDA

View Full Version : [MATLAB]Strano bug nel mio codice


soeca
21-11-2011, 18:58
Ragazzi sto avendo un problema con MATLAB. Nella GUI che ho creato ho inserito un menu che mi permette di ruotare l'immagine visualizzata. Prima però di ruotarla voglio convertirla in scala di grigi quindi faccio i seguenti passi:

function rotate90antiorario_Callback(hObject, eventdata, handles)
% hObject * *handle to rotate90antiorario (see GCBO)
% eventdata *reserved - to be defined in a future version of MATLAB
% handles * *structure with handles and user data (see GUIDATA)
global I; %immagine di partenza a colori
global tmp;
msgbox('Attenzione l''immagine verrà convertita in scala di grigi','ACHTUNG');
tmp=rgb2gray(I); %Immagine in scala di grigi
colormap(gray(256));
% figure,imshow(imrotate(tmp,-90));
axes(handles.ImmagineCaricata); %visualizzo l'immagine
image(imrotate(tmp,-90));
axis off;

Il problema è che se la converto io in scala di grigi oppure se invece di farla visualizzare in "axes" apro una nuova finestra scrivendo figure,imshow(imrotate(tmp,-90)); funziona tutto.
Se invece eseguo ciò che ho scritto sopra e quindi la faccio convertire a lui in scala di grigi ottengo QUESTO (http://img714.imageshack.us/img714/6003/bugojz.jpg) da premettere che l'immagine di partenza è la classica immagine di LENA (http://onionesquereality.files.wordpress.com/2008/01/lena512color.jpg)
Come mai ottengo questo effetto?Non me lo riesco a spiegare!