Thread: [Matlab]-Afbeeldingen tonen
-
27-10-2011, 20:59 #1
[Matlab]-Afbeeldingen tonen
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,
OvidiusIntel Core i3 550 3,2 Ghz - ASUS 9600GT & Zalman VF900Cu Led - 4GB - Samsung 23" led Fulll HD - Coolermaster 520W - WD 2TB HDD extern usb3.0 - Win7 x64 - Fibernet Shake
BF2 STATSno votes
-
-
27-10-2011, 21:52 #2Approved 9-lifer
- Registered
- 27/08/04
- Location
- Leuven
- Posts
- 930
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 11/38
Ik denk dat je die axes1 en axes2 expliciet moet opslaan in de guidata. Dan pas kan je daaraan via de handles.
Customizing Callbacks in GUIDE :: Programming a GUIDE GUI (MATLAB®)
Store or retrieve GUI data - MATLAB
http://www.mathworks.nl/help/techdoc...uihandles.htmlI am thee and thou art me and all of one is the other.
TED talk: Richard Dawkins on militant atheismno votes
-
27-10-2011, 22:17 #3
Hmm, snap er niet zo heel veel van. ( mits er geen concreet voorbeeld bijstaat)...
Hey NeverwinterX, werk jij wel eens met Matlab ?Intel Core i3 550 3,2 Ghz - ASUS 9600GT & Zalman VF900Cu Led - 4GB - Samsung 23" led Fulll HD - Coolermaster 520W - WD 2TB HDD extern usb3.0 - Win7 x64 - Fibernet Shake
BF2 STATSno votes
-
28-10-2011, 00:39 #4Approved 9-lifer
- Registered
- 27/08/04
- Location
- Leuven
- Posts
- 930
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 11/38
Ik heb wat basic matlab kennis en zelfs die kennis is roestig

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’);I am thee and thou art me and all of one is the other.
TED talk: Richard Dawkins on militant atheismno votes
-
28-10-2011, 10:05 #5
??? 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.Last edited by Ovidius; 28-10-2011 at 10:15.
Intel Core i3 550 3,2 Ghz - ASUS 9600GT & Zalman VF900Cu Led - 4GB - Samsung 23" led Fulll HD - Coolermaster 520W - WD 2TB HDD extern usb3.0 - Win7 x64 - Fibernet Shake
BF2 STATSno votes
-
28-10-2011, 10:15 #6Approved 9-lifer
- Registered
- 27/08/04
- Location
- Leuven
- Posts
- 930
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 11/38
I am thee and thou art me and all of one is the other.
TED talk: Richard Dawkins on militant atheismno votes

