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 :

boucle infinie dans un GUIDE


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 92
    Par défaut boucle infinie dans un GUIDE
    bonjour!
    voila je voudrais répéter cette opération jusqu'à ce que je ferme mon 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
     
    function axes2_CreateFcn(hObject, eventdata, handles)
    global img1 img2
     
    im=imread('Image3.jpg');  
    im1=rgb2gray(im);
    img2=imresize(im1,[240 320]);
    imshow(img2);
     
    function axes4_CreateFcn(hObject, eventdata, handles)
    global img1 img2
     
    vid = videoinput('winvideo');
    pause(2);
     
    img11=getsnapshot(vid);
    img1=rgb2gray(img11);
    image(img11); 
     
    delete(vid);
     
    function axes5_CreateFcn(hObject, eventdata, handles)
    global img1 img2
     
    img3=abs(img2-img1);
    imshow(img3);
    il s'agit de lire une image puis d'en lire une autre provenant de ma webcam et enfin de faire la comparaison entre ces 2 images dans un 3ème axe.

    ou faut il que je rajoute ma boucle
    dans mon programme?
    sinon y a t'il un autre moyen de faire en sorte de répéter ces opérations jusqu'à la fermeture de mon interface graphique?

    merci d'avance

  2. #2
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 92
    Par défaut
    merci pour ta proposition..
    mais mon problème c'est ou insérer mon code dans le programme du GUIDE!

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Sans doute dans l'OpeningFcn si tu veux qu'il s'exécute lors de l'ouverture de la fenêtre (jusqu'à sa fermeture).

    Duf

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 92
    Par défaut besoin d'une correction!
    bonsoir duf42!

    voila j'ai toujours pas de solution..
    voila mon code:
    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
     
    function varargout = pff(varargin)
    % PFF MATLAB code for pff.fig
    %      PFF, by itself, creates a new PFF or raises the existing
    %      singleton*.
    %
    %      H = PFF returns the handle to a new PFF or the handle to
    %      the existing singleton*.
    %
    %      PFF('CALLBACK',hObject,eventData,handles,...) calls the local
    %      function named CALLBACK in PFF.M with the given input arguments.
    %
    %      PFF('Property','Value',...) creates a new PFF or raises the
    %      existing singleton*.  Starting from the left, property value pairs are
    %      applied to the GUI before pff_OpeningFcn gets called.  An
    %      unrecognized property name or invalid value makes property application
    %      stop.  All inputs are passed to pff_OpeningFcn via varargin.
    %
    %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
    %      instance to run (singleton)".
    %
    % See also: GUIDE, GUIDATA, GUIHANDLES
     
    % Edit the above text to modify the response to help pff
     
    % Last Modified by GUIDE v2.5 15-Apr-2012 13:27:13
     
    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @pff_OpeningFcn, ...
                       'gui_OutputFcn',  @pff_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 pff is made visible.
    function pff_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 pff (see VARARGIN)
     
    % Choose default command line output for pff
    handles.output = hObject;
     
    % Update handles structure
    guidata(hObject, handles);
     
    % UIWAIT makes pff wait for user response (see UIRESUME)
    % uiwait(handles.figure1);
     
     
    % --- Outputs from this function are returned to the command line.
    function varargout = pff_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 during object creation, after setting all properties.
    function axes1_CreateFcn(hObject, eventdata, handles)
    global i111
    % hObject    handle to axes1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: place code in OpeningFcn to populate axes1
    i1=imread('SS.jpg');
    i11=rgb2gray(i1);
    i111=imresize(i11,[240 320]);
    imshow(i1);
     
    % --- Executes during object creation, after setting all properties.
    function axes2_CreateFcn(hObject, eventdata, handles)
    global i22
    % hObject    handle to axes2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: place code in OpeningFcn to populate axes2
    vid = videoinput('winvideo');
    i2=getsnapshot(vid);
    imshow(i2);
    i22=rgb2gray(i2);
    while(vid.FramesAcquired<=200)
    i2=getsnapshot(vid);
    i22=rgb2gray(i2);
    imshow(i2);    
    end
     
    % --- Executes during object creation, after setting all properties.
    function axes3_CreateFcn(hObject, eventdata, handles)
    global i111 i22
    % hObject    handle to axes3 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: place code in OpeningFcn to populate axes3
    thresh=25;
    i3=abs(double(i22)-double(i111));
    dimension= size(i3);             
    width=dimension(2);
    height=dimension(1);
    t= zeros(height, width);
     
    for j=1:width                 % if fr_diff > thresh pixel in foreground
            for k=1:height
                if ((i3(k,j)>thresh))
                    t(k,j)=i3(k,j);
                else
                    t(k,j)=0;
                end
            end
    end
    i33=t;
    imshow(i33);
    faut-il que j'ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    axes1_CreateFcn();
    axes2_CreateFcn();
    axes3_CreateFcn();
    dans l'OpeningFcn?
    j'ai essayé mais l'interface s'affiche 1s et se ferme!
    je sais pas comment le faire.

    sinon j'ai ce message d'erreur:
    Error using -
    Matrix dimensions must agree.

    Error in pff>axes3_CreateFcn (line 116)
    i3=abs(double(i22)-double(i111));

    Error in gui_mainfcn (line 96)
    feval(varargin{:});

    Error in pff (line 42)
    gui_mainfcn(gui_State, varargin{:});

    Error in @(hObject,eventdata)pff('axes3_CreateFcn',hObject,eventdata,guidata(hObject))


    Error using struct2handle
    Error while evaluating axes CreateFcn

    Error using videoinput (line 228)
    There are no devices installed for the specified ADAPTORNAME. See IMAQHWINFO.

    Error in pff>axes2_CreateFcn (line 97)
    vid = videoinput('winvideo');

    Error in gui_mainfcn (line 96)
    feval(varargin{:});

    Error in pff (line 42)
    gui_mainfcn(gui_State, varargin{:});

    Error in @(hObject,eventdata)pff('axes2_CreateFcn',hObject,eventdata,guidata(hObject))


    Error using struct2handle
    Error while evaluating axes CreateFcn
    j'ai donc essayer de voir la dimension de l'image webcam dans Command Window:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     vid = videoinput('winvideo',1);
    i2=getsnapshot(vid);
    size(i2)
    j'ai alors ce message d'erreur:
    Error using videoinput (line 228)
    There are no devices installed for the specified ADAPTORNAME. See IMAQHWINFO.
    ça fait des mois que je galère..
    tu veux bien m'aider à terminer enfin mon travail?
    ça fait un moment que je "rêve" d'appuyer sur dans une de mes discussions!

    merci d'avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Pour commencer, pense à indenter ton code. Pense à ceux qui te liront (et noteront)

    Place ton code dans l'OpeningFcn.
    Utilise im2double au lieu de double pour la conversion des tes images. Cela t'évitera des questions inutiles.
    Ensuite, concernant ta première erreur, au cas où tu ne l'aurais toujours pas compris, tes images doivent être de la même taille. Comment veux-tu soustraire deux images qui ne le sont pas
    Pour la seconde, fais simplement ce que te conseille MATLAB : tapes

Discussions similaires

  1. Boucle Infinie dans le Sudoku
    Par HqSeO dans le forum Mathématiques
    Réponses: 7
    Dernier message: 12/02/2009, 13h42
  2. Réponses: 1
    Dernier message: 28/07/2006, 11h11
  3. Réponses: 29
    Dernier message: 17/06/2006, 13h04
  4. symptome de la boucle infinie dans une requete
    Par ouam81 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 27/05/2005, 12h10
  5. Réponses: 15
    Dernier message: 24/05/2005, 08h34

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