Il existe une méthode générale pour stocker des données avec votre interface graphique pour une utilisation entre les rappels. Vous pouvez ajouter des champs arbitraires aux poignées d'objet, de sorte que vous pouvez mettre dans votre rappel pushbutton1
handles.filename = FileName;
guidata(hObject,handles);
La deuxième ligne est le code passe-partout que vous avez besoin de mettre à la fin de chaque rappel qui modifie les valeurs dans la structure des poignées. Maintenant, tous vos rappels auront accès au nom de fichier.
Dans votre cas, en rappel 2, vous auriez
img = imread(handles.filename);
Bien sûr, vous pouvez utiliser cette image plus tard dans une autre fonction, de sorte que vous pouvez stocker dans des poignées trop
handles.img = img;
guidata(hObject, handles);
Vous peut faire effectivement la même chose avec setappdata et getappdata sans avoir à se souvenir du bit guidata. – Adrian
Mais alors vous devez connaître la poignée de la figure, non? Je suppose que vous pouvez appeler gcf, mais vous rencontrerez un problème si l'utilisateur a maximisé une autre fenêtre avant que votre callback soit exécuté. Je préfère quand même la notation de référence par points. – Marc