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 :

Affichage premiere image du directoire


Sujet :

Interfaces Graphiques

  1. #1
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut Affichage premiere image du directoire
    J'ai sur ma forme un pushbutton1 et une componente axes1.


    Dans mon directoire j'ai 5 images.


    Comment afficher automatiquement la premiere image du directoire dans la composante axes1? (quand j'appui le button pushbutton1)?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function pushbutton2_Callback(hObject, eventdata, handles)
    I=imread('premiere_image.jpg');
    set(handles.axes1,I);
    imshow(I);

    Mais je veux faire ca automatiquement!

    Merci d'avance!

  2. #2
    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
    Bonsoir,

    Tu peux récupérer les images du répertoire avec la commande DIR. Il te suffit ensuite de récupérer celle que tu veux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    % Récupération des images
    img_list = dir('mon_repertoire\*.jpg');
     
    % Chargement de la premiere image
    imread(fullfile('mon_repertoire', img_list(1).name));
    Le code est à tester mais c'est l'idée...

    Bon courage,
    Duf

  3. #3
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Ok! Merci bien duf42!


    Et si je veux lister des les 5 photos du directoire dans 5 axes d'une autre forme je peux faire cela dans le pushbutton1_callback de la premiere forme? (mon directoire c'est C:\MATLAB71\work\Images et j'ai 5 images : test1,test2,test3,test4,test5 au format jpg):


    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
     
     
    C'est le pushbutton de la premiere forme link1.fig
     
    function pushbutton1_Callback(hObject, eventdata, handles)
    link2 %faire la liason avec l'autre forme ou j'ai 5 axes
    img_list = dir('C:\MATLAB71\work\Images\*.jpg');
     
     
    % Chargement de la premiere image nomme test1.jpg
    imread(fullfile('C:\MATLAB71\work\Images', img_list(1).test1));
    %l'afficher dans axes1 de la deuxieme forme
    set(handles.axes1); %axes1 de la deuxieme forme link2.fig
    %j'ai axes1 aussi sur la forme link1.fig comment faire avec set pour etre %difference et pour qu'il sache que je fais reference a axes1 de la %deuxieme forme
     
    % Chargement de la deuxieme image nomme test2.jpg
    imread(fullfile('C:\MATLAB71\work\Images', img_list(2).test2));
    %l'afficher dans axes2 de la deuxieme forme link2.fig
    set(handles.axes2);
     
     
    % Chargement de la troisieme  image nomme test3.jpg
    imread(fullfile('C:\MATLAB71\work\Images', img_list(3).test3));
    %l'afficher dans axes3 de la deuxieme forme link2.fig
    set(handles.axes3);
     
    % Chargement de la quatrieme  image nomme test4.jpg
    imread(fullfile('C:\MATLAB71\work\Images', img_list(4).test4));
    %l'afficher dans axes4 de la deuxieme forme link2.fig
    set(handles.axes4);
     
    % Chargement de la cinquieme  image nomme test5.jpg
    imread(fullfile('C:\MATLAB71\work\Images', img_list(5).test5));
    %l'afficher dans axes5 de la deuxieme forme link2.fig
    set(handles.axes5);
    J'attends ton reponse duf sinon nettoye moi s'il te plait mon fichier si j'ai des erreurs.

    Je crois que je dois utiliser la fonction axes pour faire le switch entre axes et la fonction imshow de m'afficher dans l'axes respective. Mais je ne sais pas comment nettoyer mon fichier pour faire cela.


    Je t'ai explique mon repertoire et les photos que j'ai.

    Sur ma premiere forme il y a une axes1 et un button pushbutton1 ou je fais le callback au-dessus et sur la deuxieme forme il y a seulement 5 axes ou je veux mettre le 5 photos de mon repertoire quand je presse le button pushbutton1 de la premiere forme.

    Merci d'avance!

    J'ai mis ici mon archive:

    avec le liason que je veux faire entre le deux formes link1.fig est incarcabd.fig et link2.fig est listapoze.fig ou j'ai utilise la fonction subplot mais je veux que les 5photos soit automatiquement charges dans les 5axes de la deuxieme forme ( au pushbutton1 de ma premiere forme-c'est l'evenement que j'utilise).


    http://www.flyupload.com/?fid=342852985

  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
    Tu dois savoir que ton code est faux si tu l'as essayé

    Regarde mieux la structure img_list et lis cette :
    Comment lister les fichiers d'une certaine extension dans un répertoire ?

    Et la forme set(handle) ne fais qu'afficher les valeurs possibles de l'objet de handle handle.
    Pour afficher une image il faut utiliser par exemple la fonction IMAGE

    Du coup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    rep = 'C:\MATLAB71\work\Images';
    img_list = dir(fullfile(rep,'*.jpg');
    for k=1:length(img_list)
        % Chargement de la kième image
        img = imread(fullfile(rep, img_list(k).name));
        %l'afficher dans axesk de la deuxieme forme (utilisation champs dynamique)
        image(img,'Parent',handles.(['axes',num2str(k)]));
    end
    Essayes de bien étudier ce code pour le comprendre.

  5. #5
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut Merci Caro
    Ok. Je savais ce lien! Merci bien caro!

    Je marque comme resolu!

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

Discussions similaires

  1. [FLASH MX] Affichage d'images par loadMovie
    Par n_tony dans le forum Flash
    Réponses: 7
    Dernier message: 23/09/2004, 15h34
  2. XSL: pb d'affichage d'images
    Par enez dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 12/09/2004, 14h17
  3. PB affichage d'image avec IE
    Par arturo dans le forum Modules
    Réponses: 6
    Dernier message: 25/09/2003, 17h28
  4. [VB6] Affichage d'image avec qlq contraintes
    Par youri dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h44

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