Bonjour,

Un petit problème de code. C'est sûrement simple, mais...

Je crée un bouton "Open", lequel lance une fonction callback permettant à l'utilisateur de sélectionner une image à traiter. Par la suite, cette image peut être modifiée à l'aide de d'autres outils. Or, il semble que l'image ne "sorte" pas de la fonction callback. Elle n'est pas reconnue par le reste du programme. Une idée?

Voici le code de création du bouton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
%create button to launch the open menu
handles.buttonOpen = uicontrol('Style', 'pushbutton',...
        'Units', 'Pixels', ...
        'Position', [25 730 75 25],...
        'String', 'Open');
 
set(handles.buttonOpen, 'callback', {@buttonOpen_callback, handles});
Puis le code de la fonction buttonOpen_Callback
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
function buttonOpen_callback(hObject, event_data, handles)
    [FileName, PathName] = uigetfile('*.jpg','Select the image file');
    handles.input_image = imread(fullfile(PathName, FileName));
Lorsque je lance une autre fonction, voici ce que j'obtiens comme message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
??? Reference to non-existent field 'input_image'.
 
Error in ==> main>buttonRefresh_callback at 395
        handles.display_image(:,:,1) = handles.input_image(:,:,1);
 
??? Error while evaluating uicontrol Callback
Merci beaucoup de votre aide!