Bonjour à tous,
Alors voilà, j'aurai grandement besoin d'un regard extérieur sur mon code.
Je montre mon code, ensuite j'explique ce que j'attends comme résultats et après, je dis ce que j'obtiens..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 % Fonction Kmeansegmentation : % Paramètres d'entrée : K -> nombre de cluster % I -> image à segmenter % % Paramètres de sortie : J -> image segmentée % Varintra -> Variance intra-classes % Vinter -> Variance inter-classe function [J, Vintra, Vinter] = Kmeansegmentation(I,K) global choix; interface; waitforbuttonpress close all; ...... ......Ce que j'attends, c'est que quand l'utilisateur clique sur le bouton "manuelle", un code spécifique s'exécute dans le programme "Kmeansegmentation", et idem pour le bouton "manuelle". POur ça, j'utilise la variable globale "choix".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 % Programme d'entrainement aux interfaces graphiques (GUI) function f=interface %global choix; %% Création de la figure f=figure('Visible','off','Position',[450,300,350,200]); %% Création des éléments de la figure hmanuel=uicontrol('Style','pushbutton',... 'String','manuelle',... 'Position',[50 90 100 50],... 'Callback',{@set_choice}); haleatoir=uicontrol('Style','pushbutton',... 'String','aléatoire',... 'Position',[200 90 100 50],... 'Callback',{@set_choice}); htitre=uicontrol('Style','text',... 'String','Comment voulez-vous selectionner les centres des clusters?',... 'Position',[10 160 330 10]); %% Affichage de la figure set(f,'Visible','on'); function set_choice(source,eventdata) global choix; str = get(source,'String'); switch str case 'manuelle' choix='manual'; close all; case 'aléatoire' choix='random'; close all; end end end
Mon problème, c'est que cette variable "choix" est toujours à la valeur "manual" quand j'exécute le programme en lançant "Kmeansegmentation".... Et la chose qui m'énerve au plus haut point, c'est que quand je lance juste la fonction "interface", la variable "choix" prend bien la valeur "manual" quand je clique sur le bouton "manuelle" et la valeur "random" quand je clique sur le bouton "aléatoire"!!
Donc j'avoue que je ne comprends vraiment pas d'où viens l'erreur...
Si quelqu'un peut m'aider, ça serait vraiment gentil.
Merci d'avance!
Partager