1. #1
    Ovidius's Avatar
    Registered
    15/05/05
    Location
    Zutendaal
    Posts
    617
    iTrader
    0
    Mentioned
    0 Post(s)

    [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,


    Ovidius
    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 STATS
    no votes  

  2. #2
    NeverwinterX's Avatar
    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.html
    I am thee and thou art me and all of one is the other.
    TED talk: Richard Dawkins on militant atheism
    no votes  

  3. #3
    Ovidius's Avatar
    Registered
    15/05/05
    Location
    Zutendaal
    Posts
    617
    iTrader
    0
    Mentioned
    0 Post(s)
    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 STATS
    no votes  

  4. #4
    NeverwinterX's Avatar
    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 atheism
    no votes  

  5. #5
    Ovidius's Avatar
    Registered
    15/05/05
    Location
    Zutendaal
    Posts
    617
    iTrader
    0
    Mentioned
    0 Post(s)
    ??? 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 STATS
    no votes  

  6. #6
    NeverwinterX's Avatar
    Registered
    27/08/04
    Location
    Leuven
    Posts
    930
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    11/38
    Quote Originally Posted by Ovidius View Post
    This quote is hidden because you are ignoring this member. Show
    ??? 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
    I am thee and thou art me and all of one is the other.
    TED talk: Richard Dawkins on militant atheism
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in