IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

Passer des données entre les fonctions callback [Débutant]


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut Passer des données entre les fonctions callback
    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!

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Il faut mettre à jour la structure handles avec GUIDATA lorsque tu la modifie :
    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));
    guidata(gcbf,handles);
    De même pour être sur de récupérer la structure handles à jour il vaut mieux la récupérer aussi avec GUIDATA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    handles=guidata(gcbf);
    a=handles.toto;

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    De même pour être sur de récupérer la structure handles à jour il vaut mieux la récupérer aussi avec GUIDATA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    handles=guidata(gcbf);
    a=handles.toto;
    Où ces lignes doivent-elles s'insérer?

  4. #4
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    En général il faut les mettre au début de chaque sous-fonction dans laquelle tu vas être amené à utiliser la structure handles.
    Cela permet d'être bien sur d'avoir la dernière version, même si handles est normalement passé en paramètre des callback il n'a pas forcément été mis à jour.

  5. #5
    Membre averti
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Rebonjour

    J'ai transformé ma fonction buttonOpen_callback ainsi en ajoutant les instruction fournies (en bleu):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function buttonOpen_callback(hObject, event_data, handles)
        handles=guidata(gcbf);
        [FileName, PathName] = uigetfile('*.jpg','Select the image file');
        handles.input_image = imread(fullfile(PathName, FileName));
        guidata(gcf,handles);
    Une fois l'image ouverte à l'aide de cette fonction, je lance une modification impliquant un choix sur un radiobutton. J'ai ajouté à cette fonction les instruction fournie (en bleu). Voici la fonction :
    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
    function radioBnWchoice_callback(gcf, event_data, handles, radio_value)
        handles=guidata(gcbf);
        switch radio_value
            case 1 %channel 1
                set(handles.radioBnWCh1, 'Value', 1);
                set(handles.radioBnWCh2, 'Value', 0);
                set(handles.radioBnWCh3, 'Value', 0);
                handles.display_image = handles.input_image(:,:,1);
                imshow(handles.display_image);
                guidata(gcf,handles);
                
            case 2 %channel 2
                set(handles.radioBnWCh1, 'Value', 0);
                set(handles.radioBnWCh2, 'Value', 1);
                set(handles.radioBnWCh3, 'Value', 0);
                handles.display_image = handles.input_image(:,:,2);
                imshow(handles.display_image);
                guidata(gcf,handles);         
       
            case 3 %channel 3
                set(handles.radioBnWCh1, 'Value', 0);
                set(handles.radioBnWCh2, 'Value', 0);
                set(handles.radioBnWCh3, 'Value', 1);
                handles.display_image = handles.input_image(:,:,3);
                imshow(handles.display_image);    
                guidata(gcf,handles);            
        end
    Non seulement cette seconde fonction ne reconnaît pas l'image; elle ne reconnaît PLUS les radiobuttons. Voici le message d'erreur :

    ?? Reference to non-existent field 'radioBnWCh1'.

    Error in ==> main>radioBnWchoice_callback at 335
    set(handles.radioBnWCh1, 'Value', 1);

    ??? Error while evaluating uicontrol Callback
    Merci encore !

  6. #6
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Oui pardon 1ère chose que j'aurais du te demander : comment as-tu créer ton GUI : avec GUIDE ou "à la main" ?
    Dans le second cas il faut aussi enregistrer la structure handles avec GUIDATA après la création des objets.

    Sinon si vraiment cela ne fonctionne pas tu peux utiliser les autres méthodes décrites ici : Développement efficace des interfaces graphiques (GUI)

    Pour y voir plus clair il faudrait le fichier entier.

  7. #7
    Membre averti
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    J'ai simplifié au max pour ne laisser que les coins problématiques.
    La fonction main ouvre une fenêtre contenant 2 boutons.

    Le bouton "Open" permet de sélectionner une image.

    Le bouton "RGB or BnW" doit permettre de changer l'affichage de l'image. Comme le problème se répète autant avec l'affichage RGB que BnW, je n'ai laissé que la 2e portion. La sélection du radio BnW ouvre un panneau, lequel permet de choisir le canal à afficher.

    Je sais que l'affichage fonctionne lorsque l'image est entrée dès le départ (voir la section du code "INPUT STUPID PICTURE TO TEST THE FUNCTIONS"). C'est lorsqu'elle doit passer par le bouton "Open" que ça bloque.

    J'ai ajouté les guidata() et les guihandles() un peu partout tel que suggéré...


    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
     
    function main
     
        %----------------------------------------------------------
        %
        %GENERAL STRUCTURE
        %
        %----------------------------------------------------------
     
        %create a figure
        handles.figure = figure('Units', 'Pixels',...
            'Position', [100 100 1024 768],...
            'Numbertitle', 'off',...
            'Name', 'POLSAR reader',...
            'Menubar', 'none',...
            'visible', 'on');
     
        %----------------------------------------------------------
        %
        %INPUT STUPID PICTURE TO TEST THE FUNCTIONS
        %
        %----------------------------------------------------------
     
        %handles.input_image = imread('coupons.jpg');
     
        %----------------------------------------------------------
        %
        %OPEN
        %
        %----------------------------------------------------------
     
        %create button to open a picture
        handles.buttonOpen = uicontrol('Style', 'pushbutton',...
            'Units', 'Pixels', ...
            'Position', [25 730 75 25],...
            'String', 'Open');
     
        %----------------------------------------------------------
        %
        %CHOICE OF CHANNELS TO DISPLAY
        %
        %----------------------------------------------------------
     
        %create button choice of RWB vs BnW
        handles.buttonRGBorBnW = uicontrol('Style', 'togglebutton',...
            'Units', 'Pixels', ...
            'Position', [25 695 75 25],...
            'String', 'RGB or B&W ?');
     
            %create panel choice of RGB vs BnW
            handles.panelRGBorBnW = uipanel('Units', 'Pixels', ...
                'Backgroundcolor', [1 1 1],...
                'Foregroundcolor', [0 0 0],...
                'Title', 'RGB or B&W ?',...
                'Position', [50 225 175 250],...
                'Visible', 'off');
     
                %choice of RGB vs BW
                %SECTION CUT
     
                handles.radioBnW = uicontrol('Style', 'radiobutton',...
                        'Parent', handles.panelRGBorBnW,...
                        'String', 'BnW',...
                        'Position', [100 210 50 15],...
                        'HandleVisibility', 'on');
     
                %create panel BnW
                handles.panelBnW = uipanel('Units', 'Pixels', ...
                    'Parent', handles.panelRGBorBnW,...
                    'Backgroundcolor', [1 1 1],...
                    'Foregroundcolor', [0 0 0],...
                    'Title', 'BnW panel', ...
                    'Position', [7 0 160 190]);
     
                    %content of panel BnW
                    handles.radioBnWCh1 = uicontrol('Style', 'radiobutton',...
                        'String', 'Channel 1',...
                        'Position', [10 115 75 25],...
                        'HandleVisibility', 'on',...
                        'Parent', handles.panelBnW);
     
                    handles.radioBnWCh2 = uicontrol('Style', 'radiobutton',...
                        'String', 'Channel 2',...
                        'Position', [10 90 75 25],...
                        'HandleVisibility', 'on',...
                        'Parent', handles.panelBnW);
     
                    handles.radioBnWCh3 = uicontrol('Style', 'radiobutton',...
                        'String', 'Channel 3',...
                        'Position', [10 65 75 25],...
                        'HandleVisibility', 'on',...
                        'Parent', handles.panelBnW);
     
        %----------------------------------------------------------
        %
        %SET 
        %
        %----------------------------------------------------------
     
        set(handles.buttonOpen, 'callback', {@buttonOpen_callback, handles});
     
        set(handles.buttonRGBorBnW, 'callback', {@buttonRGBorBnW_callback, handles});
     
        set(handles.radioBnW, 'callback', {@radioRGBorBnW_callback, handles, 2});
     
        set(handles.radioBnWCh1, 'callback', {@radioBnWchoice_callback, handles, 1});
        set(handles.radioBnWCh2, 'callback', {@radioBnWchoice_callback, handles, 2});
        set(handles.radioBnWCh3, 'callback', {@radioBnWchoice_callback, handles, 3});
     
        %----------------------------------------------------------
        %
        %GUIDATA 
        %
        %----------------------------------------------------------
        data = guihandles(gcf);
        guidata(gcf, data);
     
    %----------------------------------------------------------
    %
    %CALLBACK FUNCTIONS
    %
    %----------------------------------------------------------
     
    %callback functions for the Open Button
     
    function buttonOpen_callback(hObject, event_data, handles)
        data = guihandles(gcf);
        [FileName, PathName] = uigetfile('*.jpg','Select the image file');
        handles.input_image = imread(fullfile(PathName, FileName));
        guidata(gcf, data);
     
     
    %callback functions RGB or BnW
     
    function buttonRGBorBnW_callback(hObject, event_data, handles)
        data = guihandles(gcf);
        if get(handles.buttonRGBorBnW, 'Value')
            set(handles.panelRGBorBnW, 'Visible', 'on');
            if get(handles.radioBnW, 'Value')
                set(handles.panelBnW, 'Visible', 'on');            
            else
                set(handles.panelBnW, 'Visible', 'off'); 
            end
        else
            set(handles.panelRGBorBnW, 'Visible', 'off');
        end
        guidata(gcf, data);
     
    function radioRGBorBnW_callback(gcf, event_data, handles, radio_value)
        data = guihandles(gcf);
        switch radio_value
            case 2 %BnW
                set(handles.radioBnW, 'Value', 1);
                set(handles.panelBnW, 'Visible', 'on');            
        end
        guidata(gcf, data);
     
    function radioBnWchoice_callback(gcf, event_data, handles, radio_value)
        data = guihandles(gcf);
        switch radio_value
            case 1 %channel 1
                set(handles.radioBnWCh1, 'Value', 1);
                set(handles.radioBnWCh2, 'Value', 0);
                set(handles.radioBnWCh3, 'Value', 0);
                handles.display_image = handles.input_image(:,:,1);
                imshow(handles.display_image);
                guidata(gcf, data);            
            case 2 %channel 2
                set(handles.radioBnWCh1, 'Value', 0);
                set(handles.radioBnWCh2, 'Value', 1);
                set(handles.radioBnWCh3, 'Value', 0);
                handles.display_image = handles.input_image(:,:,2);
                imshow(handles.display_image);
                guidata(gcf, data);           
            case 3 %channel 3
                set(handles.radioBnWCh1, 'Value', 0);
                set(handles.radioBnWCh2, 'Value', 0);
                set(handles.radioBnWCh3, 'Value', 1);
                handles.display_image = handles.input_image(:,:,3);
                imshow(handles.display_image);    
                guidata(gcf, data);            
        end
    un oubli : j'ai créé le GUI à la main, et non à l'aide de GUIDE

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Parce qu'il faut utiliser GUIDATA au début et à la fin de chaque sous-fonction (en non pas GUIHANDLES)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ...
        handles = guidata(gcbf);
        ....
        guidata(gcbf,handles);

  9. #9
    Membre averti
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Toujours le même problème, message d'erreur :

    ??? Reference to non-existent field 'input_image'.

    Error in ==> resume>radioBnWchoice_callback at 172
    handles.display_image = handles.input_image(:,:,2);

    ??? Error while evaluating uicontrol Callback


    J'ai modifié le code comme suit :

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    function main
    
        %----------------------------------------------------------
        %
        %GENERAL STRUCTURE
        %
        %----------------------------------------------------------
        
        %create a figure
        handles.figure = figure('Units', 'Pixels',...
            'Position', [100 100 1024 768],...
            'Numbertitle', 'off',...
            'Name', 'POLSAR reader',...
            'Menubar', 'none',...
            'visible', 'on');
        
        %----------------------------------------------------------
        %
        %INPUT STUPID PICTURE TO TEST THE FUNCTIONS
        %
        %----------------------------------------------------------
    
        %handles.input_image = imread('coupons.jpg');
        %[M, N, C] = size(handles.input_image);
    
        %----------------------------------------------------------
        %
        %OPEN
        %
        %----------------------------------------------------------
        
        %create button to open a picture
        handles.buttonOpen = uicontrol('Style', 'pushbutton',...
            'Units', 'Pixels', ...
            'Position', [25 730 75 25],...
            'String', 'Open');
        
        %----------------------------------------------------------
        %
        %CHOICE OF CHANNELS TO DISPLAY
        %
        %----------------------------------------------------------
       
        %create button choice of RWB vs BnW
        handles.buttonRGBorBnW = uicontrol('Style', 'togglebutton',...
            'Units', 'Pixels', ...
            'Position', [25 695 75 25],...
            'String', 'RGB or B&W ?');
        
            %create panel choice of RGB vs BnW
            handles.panelRGBorBnW = uipanel('Units', 'Pixels', ...
                'Backgroundcolor', [1 1 1],...
                'Foregroundcolor', [0 0 0],...
                'Title', 'RGB or B&W ?',...
                'Position', [50 225 175 250],...
                'Visible', 'off');
    
                %choice of RGB vs BW
                %SECTION CUT
                
                handles.radioBnW = uicontrol('Style', 'radiobutton',...
                        'Parent', handles.panelRGBorBnW,...
                        'String', 'BnW',...
                        'Position', [100 210 50 15],...
                        'HandleVisibility', 'on');
    
                %create panel BnW
                handles.panelBnW = uipanel('Units', 'Pixels', ...
                    'Parent', handles.panelRGBorBnW,...
                    'Backgroundcolor', [1 1 1],...
                    'Foregroundcolor', [0 0 0],...
                    'Title', 'BnW panel', ...
                    'Position', [7 0 160 190]);
    
                    %content of panel BnW
                    handles.radioBnWCh1 = uicontrol('Style', 'radiobutton',...
                        'String', 'Channel 1',...
                        'Position', [10 115 75 25],...
                        'HandleVisibility', 'on',...
                        'Parent', handles.panelBnW);
    
                    handles.radioBnWCh2 = uicontrol('Style', 'radiobutton',...
                        'String', 'Channel 2',...
                        'Position', [10 90 75 25],...
                        'HandleVisibility', 'on',...
                        'Parent', handles.panelBnW);
    
                    handles.radioBnWCh3 = uicontrol('Style', 'radiobutton',...
                        'String', 'Channel 3',...
                        'Position', [10 65 75 25],...
                        'HandleVisibility', 'on',...
                        'Parent', handles.panelBnW);
      
        %----------------------------------------------------------
        %
        %SET 
        %
        %----------------------------------------------------------
    
        set(handles.buttonOpen, 'callback', {@buttonOpen_callback, handles});
        
        set(handles.buttonRGBorBnW, 'callback', {@buttonRGBorBnW_callback, handles});
        
        set(handles.radioBnW, 'callback', {@radioRGBorBnW_callback, handles, 2});
        
        set(handles.radioBnWCh1, 'callback', {@radioBnWchoice_callback, handles, 1});
        set(handles.radioBnWCh2, 'callback', {@radioBnWchoice_callback, handles, 2});
        set(handles.radioBnWCh3, 'callback', {@radioBnWchoice_callback, handles, 3});
        
        %----------------------------------------------------------
        %
        %GUIDATA 
        %
        %----------------------------------------------------------
        data = guidata(gcf);
        guidata(gcf, data);
    
    %----------------------------------------------------------
    %
    %CALLBACK FUNCTIONS
    %
    %----------------------------------------------------------
    
    %callback functions for the Open Button
    
    function buttonOpen_callback(hObject, event_data, handles)
        data = guidata(gcbf);
        [FileName, PathName] = uigetfile('*.jpg','Select the image file');
        handles.input_image = imread(fullfile(PathName, FileName));
        guidata(gcbf, data);
    
        
    %callback functions RGB or BnW
    
    function buttonRGBorBnW_callback(hObject, event_data, handles)
        data = guidata(gcbf);
        if get(handles.buttonRGBorBnW, 'Value')
            set(handles.panelRGBorBnW, 'Visible', 'on');
            if get(handles.radioBnW, 'Value')
                set(handles.panelBnW, 'Visible', 'on');            
            else
                set(handles.panelBnW, 'Visible', 'off'); 
            end
        else
            set(handles.panelRGBorBnW, 'Visible', 'off');
        end
        guidata(gcbf, data);
            
    function radioRGBorBnW_callback(gcf, event_data, handles, radio_value)
        data = guidata(gcbf);
        switch radio_value
            case 2 %BnW
                set(handles.radioBnW, 'Value', 1);
                set(handles.panelBnW, 'Visible', 'on');            
        end
        guidata(gcbf, data);
        
    function radioBnWchoice_callback(gcf, event_data, handles, radio_value)
        data = guidata(gcbf);
        switch radio_value
            case 1 %channel 1
                set(handles.radioBnWCh1, 'Value', 1);
                set(handles.radioBnWCh2, 'Value', 0);
                set(handles.radioBnWCh3, 'Value', 0);
                handles.display_image = handles.input_image(:,:,1);
                imshow(handles.display_image);
                guidata(gcbf, data);            
            case 2 %channel 2
                set(handles.radioBnWCh1, 'Value', 0);
                set(handles.radioBnWCh2, 'Value', 1);
                set(handles.radioBnWCh3, 'Value', 0);
                handles.display_image = handles.input_image(:,:,2);
                imshow(handles.display_image);
                guidata(gcbf, data);           
            case 3 %channel 3
                set(handles.radioBnWCh1, 'Value', 0);
                set(handles.radioBnWCh2, 'Value', 0);
                set(handles.radioBnWCh3, 'Value', 1);
                handles.display_image = handles.input_image(:,:,3);
                imshow(handles.display_image);    
                guidata(gcbf, data);            
        end

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. changement des données entre les UI
    Par assouma01 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 30/03/2009, 12h06
  2. Transfer des données entre les pages d´un etat en access.
    Par tatirenepereira dans le forum IHM
    Réponses: 4
    Dernier message: 26/07/2007, 23h14
  3. le passage des données entre les onglets
    Par jack_1981 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 16/05/2007, 01h12
  4. Réponses: 15
    Dernier message: 08/04/2007, 01h12
  5. [Données]Passer des données entre applet et Servlet
    Par CheryBen dans le forum Applets
    Réponses: 11
    Dernier message: 16/09/2005, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo