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 :

Comment afficher plusieurs images dans des axes differents [Débutant]


Sujet :

Interfaces Graphiques

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Comment afficher plusieurs images dans des axes differents
    Bonjour!
    Je veux afficher plusieurs images dans des différents axes ( RVB1, RVB2,...,RVB10) dans une boucle , les images sont numérotées de 1 à 10

    mon problème c'est que je n'arrive pas à récuperer le nom de variable stocké dans 'axe', en tant qu'une chaine de caractères , pour que je puisse afficher l'image correspondante ..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for i=1:10
        str='RVB';
        i1=int2str(i);
        axe= strcat('handles.',str,i1);
       handles.current=eval(axe);
       axes(handles.current); 
         m1=indice1(i);
        m2= int2str(m1);
        t= strcat(chemin1,'\',m2,'.png');
        imm= imread(t);  
        imshow(imm); 
    end
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Dans un premier temps:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t= strcat(chemin1,'\',m2,'.png');
    À remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t = fullfile(chemin,sprintf('%d.png',m1))
    Comment concaténer le nom d'un fichier et celui d'un répertoire ?

    Ensuite, un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imshow(imm,'parent',handles.(['RVB' int2str(i1)]))

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour ,

    j'ai essayé avec le code que vous m'avez donné mais ça n'a pas marché trouve j'ai mis le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for i=1:10
        str='RVB';
        m1=indice1(i);
        t = fullfile(chemim1{i},sprintf('%d.png',m1));
        im= imread(t);
        imshow(im,'parent',handles.(['RVB' int2str(i)]));   
    end
    mais cette erreur s'affiche :
    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
     
    ??? Error using ==> imshow>validateParent at 307
    HAX must be a valid axes handle.
     
    Error in ==> imshow at 221
          validateParent(specific_args.Parent)
     
    Error in ==> interface2>lancerR_Callback at 118
       imshow(im,'parent',handles.(['RVB' int2str(i)]));
     
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
     
    Error in ==> interface2 at 42
        gui_mainfcn(gui_State, varargin{:});
     
    Error in ==> @(hObject,eventdata)interface2('lancerR_Callback',hObject,eventdata,guidata(hObject))
     
    ??? Error while evaluating uicontrol Callback
    Merci encore pour votre aide , j'attends des conseils svp !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Dans ce cas, au moins un de tes handles.RVB(i) ne contient pas de handle valide d'un objet Axes. Il peut y avoir au moins deux raisons:
    • Soit tu l'as supprimé (delete(handles.RVBi) ou autre)
    • Soit tu as mis autre chose dedans (handles.RVBi = quelque chose autre que axes(...) )

    Remarque: str='RVB'; peut être sorti de la boucle.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    j'ai corrigé l'erreur mais une autre erreur s'est affichée :
    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
    ??? Error using ==> imshow>validateParent at 307
    HAX must be a valid axes handle.
     
    Error in ==> imshow at 221
          validateParent(specific_args.Parent)
     
    Error in ==> indexation>indexer_Callback at 119
         imshow(im,'Parent',handles.(['RVB',int2str(i)]));
     
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
     
    Error in ==> indexation at 42
        gui_mainfcn(gui_State, varargin{:});
     
    Error in ==> @(hObject,eventdata)indexation('indexer_Callback',hObject,eventdata,guidata(hObject))
     
     
    ??? Error while evaluating uicontrol Callback
    j'ai regroupé les axes RVBi dans un uipanel , alors comment faire pour le definir comme etant le parent de ces axes Svp !

    Merci d'avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par DOUBLE_H Voir le message
    j'ai corrigé l'erreur mais une autre erreur s'est affichée :
    C'est la même erreur
    As-tu fait les vérifications dont je t'ai parlé?
    Que retourne disp(handles) placé avant cette boucle?

    Citation Envoyé par DOUBLE_H Voir le message
    j'ai regroupé les axes RVBi dans un uipanel , alors comment faire pour le definir comme etant le parent de ces axes
    Cela se fait dans guide, tu as juste à les déplacer dessus. Tu pourras vérifier par l'Object Browser (menu View) qu'ils sont bien des enfants de ton uipanel.

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Oui j'ai fais la vérification et j'ai trouvé des valeurs pour chaque axe comme suivant :
    Figure1:170.002
    RVB9: 234.0021
    RVB10:229.0021
    .
    .
    .
    RVB1:189...

    alors je pense que les handles sont valides .
    est ce que je dois spécifier le parent de ces handles dans le code ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par DOUBLE_H Voir le message
    alors je pense que les handles sont valides .
    Pourtant ton erreur
    HAX must be a valid axes handle.
    Dit le contraire.
    N'as-tu pas d'autres parties de code qui les utilise?

    Citation Envoyé par DOUBLE_H Voir le message
    est ce que je dois spécifier le parent de ces handles dans le code ?
    Comme je te l'ai dit, tu as juste à les placer sur leur parent dans guide. Tu peux le vérifier ensuite avec l'Object Browser: tes objets Axes descendront alors du noeud de ton uipanel.

  9. #9
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    bonjour ,

    C bon j'ai trouvé l'erreur , le code etait correcte , c'est juste que j'ai mal utilisé
    (close all ) dans les fonctions de mon programme , c pour cela que les handles ne reste plus valide !

    merci vraiment pour Aide

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

Discussions similaires

  1. [Débutant] comment afficher plusieurs images dans une interface
    Par zakary dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 02/05/2009, 10h47
  2. [Débutant] comment afficher plusieurs images dans une seule interface ?
    Par youssa81 dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 06/02/2009, 00h36
  3. Réponses: 4
    Dernier message: 08/05/2006, 20h12
  4. comment afficher une image dans un jpanel ?
    Par 180degrés dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 18/04/2006, 15h33
  5. Afficher plusieurs images dans un jDesktop
    Par lerotou dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 05/04/2006, 15h44

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