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 :

Pb fonction dans interface


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    IGE
    Inscrit en
    Mars 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : IGE

    Informations forums :
    Inscription : Mars 2016
    Messages : 24
    Par défaut Pb fonction dans interface
    Bonjour,

    je débute en interface graphique avec GUIDE.
    J'ai suivi vos tutos mais je suis bloqué.

    J'ai crée un interface graphique

    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
    function varargout = cam_therm(varargin)
     
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @cam_therm_OpeningFcn, ...
                       'gui_OutputFcn',  @cam_therm_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    if nargin && ischar(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end
     
    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end
    % End initialization code - DO NOT EDIT
     
     
    % --- Executes just before cam_therm is made visible.
    function cam_therm_OpeningFcn(hObject, eventdata, handles, varargin)
    % This function has no output args, see OutputFcn.
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % varargin   command line arguments to cam_therm (see VARARGIN)
     
    % Choose default command line output for cam_therm
    handles.output = hObject;
     
    % Update handles structure
    guidata(hObject, handles);
     
     
    % --- Outputs from this function are returned to the command line.
    function varargout = cam_therm_OutputFcn(hObject, eventdata, handles) 
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Get default command line output from handles structure
    varargout{1} = handles.output;
     
     
    % --- Executes on button press in load.
    function load_Callback(hObject, eventdata, handles)
    axes(handles.axes1);
    cam = webcam ('Microsoft® LifeCam Studio(TM)');
    webcam_image= snapshot(cam);
    imshow(webcam_image);
    save('webcam_image');
    axes(handles.axes2);
    vid = gigecam('169.254.0.1','PixelFormat', 'Mono16');
    IR = snapshot(vid);
    IR_image = imadjust(IR,stretchlim(IR),[]);
    imshow(IR_image); 
    save('IR_image');
     
     
    % --- Executes on button press in interp.
    function interp_Callback(hObject, eventdata, handles)
    load ('webcam_image');
    load ('IR_image');
    cpselect(webcam_image,IR_image);
     
    % --- Executes on button press in transfo.
    function transfo_Callback(hObject, eventdata, handles)
    tform = fitgeotrans(movingPoints,fixedPoints,'affine');
     
    % --- Executes on button press in save.
    function save_Callback(hObject, eventdata, handles)
    save('tform.mat', 'tform');
     
     
    % --- Executes on button press in verif.
    function verif_Callback(hObject, eventdata, handles)
    axes (handles.axes3);
    Roriginal = imref2d(size(IR_image));
    save('Roriginal.mat', 'Roriginal');
    recovered = imwarp(webcam_image,tform,'OutputView',Roriginal);
    imshowpair(IR_image,recovered,'blend')
    mais j'ai un problème avec cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function transfo_Callback(hObject, eventdata, handles)
    tform = fitgeotrans(movingPoints,fixedPoints,'affine');
    elle ne veux pas se lancer quand je clique sur le bouton.

    Une idée?

    merci

  2. #2
    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
    Où sont définies les variables movingPoints et fixedPoints

    D'autre part, il faut utiliser la structure handles pour passer les variables utiles entre les fonctions.

    Par exemple :
    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
    function load_Callback(hObject, eventdata, handles)
    axes(handles.axes1);
    cam = webcam ('Microsoft® LifeCam Studio(TM)');
    handles.webcam_image= snapshot(cam);
    imshow(handles.webcam_image);
    axes(handles.axes2);
    vid = gigecam('169.254.0.1','PixelFormat', 'Mono16');
    IR = snapshot(vid);
    handles.IR_image = imadjust(IR,stretchlim(IR),[]);
    imshow(handles.IR_image); 
     
    guidata(gcbf, handles);
     
    % --- Executes on button press in interp.
    function interp_Callback(hObject, eventdata, handles)
     
    cpselect(handles.webcam_image,handles.IR_image);

  3. #3
    Membre averti
    Homme Profil pro
    IGE
    Inscrit en
    Mars 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : IGE

    Informations forums :
    Inscription : Mars 2016
    Messages : 24
    Par défaut
    les variables movingPoints et fixedPoints sont des variables qui sont crée grâce à la fonction cpselect et qui sont enregsitré dans le workspace.
    Je ne comprend pas pourquoi il veux pas les charger pour exécuter la commande tform

    Merci pour les autres conseils.

  4. #4
    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
    Les variables définies dans les fonctions ne sont visibles que à l'intérieur de ces fonctions.

    Bref, voici comment faire pour récupérer les variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    % --- Executes on button press in transfo.
    function transfo_Callback(hObject, eventdata, handles)
     
    movingPoints = evalin('base', 'movingPoints'); 
    fixedPoints = evalin('base', 'fixedPoints'); 
     
    handles.tform = fitgeotrans(movingPoints, fixedPoints, 'affine');
     
    guidata(gcbf, handles);

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/06/2015, 15h13
  2. Réponses: 4
    Dernier message: 03/01/2013, 10h00
  3. [VBA-E] Ajouter des fonctions dans Excel
    Par Clezio dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/03/2004, 01h18
  4. [VStudio 6] pb avec fonctions dans une DLL
    Par MogDeChNord dans le forum MFC
    Réponses: 8
    Dernier message: 08/01/2004, 08h57
  5. impossible d'utiliser ma fonction dans un insert
    Par caramel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/04/2003, 15h04

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