Archief - [Matlab]-Afbeeldingen tonen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ovidius

Legacy Member
Beste forumleden,

Ik wilde eens een GUI programmaajte maken in Matlab, omdat dit mij een krachtig/veelkunned/up-to-date programma lijkt.
Dus met vensters (.fig) en niet enkel .m-files.

Wat mij momenteel niet lukt is het volgende:

Als ik op een knop druk, wil ik dat er in een venster vb. 5 afbeeldingen ingeladen worden. Zowel .fig / .m / afbeeldingen bevinden zich in de current directory. Zo figuurvakjes maak ik door "axes" te plaatsen in de GUIDE.
(hier kun je namelijk ook grafieken in plotten, maar ook afbeeldingen tonen).
Dus niet 1 afbeelding tonen als achtergrond, maar telkens als je op de passende knop drukt, verschijnen en de gewenste afbeeldingen.

Heb vernomen dat het tonen zo kan:

function axes1_CreateFcn(hObject, eventdata, handles)
axes(hObject)
imshow('Natuur.jpg')

Dit werkt, maar ik wel meer dan dit.

Maar wil code in de Callback van de knop plaatsen:

function pushbutton1_Callback(hObject, eventdata, handles)
axes(handles.axes1);
imshow(‘vogel.jpg’);
axes(handles.axes2);
imshow(‘leeuw.jpg’);

Dit werkt niet ( error: undefined field axes1 ?? )

Im1 = imread('vogel.jpg');
Im2 = imread('leeuw.jpg');
set(handles.axes1,'Userdata',Im1);
set(handles.axes2,'Userdata',Im2);

Maar ook dit werkt niet.

Het lijkt me geen echt moeilijk probleem, maar toch lukt het mij niet.

Zou er iemand kunnen helpen ?




Groeten,


Ovidius

Ovidius

Legacy Member
Hmm, snap er niet zo heel veel van. ( mits er geen concreet voorbeeld bijstaat)...
Hey NeverwinterX, werk jij wel eens met Matlab ?

NeverwinterX

Legacy Member
Ik heb wat basic matlab kennis en zelfs die kennis is roestig :p

Hier is mss een wat betere tutorial: MATLAB GUI Tutorial

Dus ergens set je die axes:
handles.axes1 = watjemaarwilt;
handles.axes2 = watjemaarwilt;
guidata(hObject, handles);

en dan de pushbutton1_Callback zoals je die eerst had:
function pushbutton1_Callback(hObject, eventdata, handles)
axes(handles.axes1);
imshow(‘vogel.jpg’);
axes(handles.axes2);
imshow(‘leeuw.jpg’);

Ovidius

Legacy Member
??? Undefined function or variable 'watjemaarwilt'.

Error in ==> figuurtest>figuurtest_OpeningFcn at 60
handles.axes3 = watjemaarwilt;

Blijkt niet te werken, ook al plaats ik het in de function callback.

@ Werkt nu blijkbaar wel, maar die handles.axes1 ergens typen is niet nodig.

guidata(hObject, handles); in de function callback blijkt cruciaal.

NeverwinterX

Legacy Member
Ovidius zei:
??? Undefined function or variable 'watjemaarwilt'.

Error in ==> figuurtest>figuurtest_OpeningFcn at 60
handles.axes3 = watjemaarwilt;

Blijkt niet te werken, ook al plaats ik het in de function callback.

@ Werkt nu blijkbaar wel, maar die handles.axes1 ergens typen is niet nodig.

guidata(hObject, handles); in de function callback blijkt cruciaal.

Jama watjemaarwilt wel vervangen door wat je wilt dat die axes bevat he :p
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan