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

Images Discussion :

lire des images d'une certaine extension dans # répertoires


Sujet :

Images

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 33
    Points : 20
    Points
    20
    Par défaut lire des images d'une certaine extension dans # répertoires
    bonsoir,

    j'ai voulu essayé le code (FAQ MATLAB : Comment lister les fichiers d'une certaine extension dans un répertoire ) sur un ensemble de répertoires mais le nom du rép me donne a chaque fois que D: . merci de m'aider a résoudre ce problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    for imr=1:4
    fname = sprintf('s%d',imr); % les noms de mes reps sont s1 s2 s3 s4
    rep = 'D:\MATLAB7\work\Projet\'; % nom des image est 1 2 ... 10
    rep1=sprintf(rep,'%s',fname);
    ext = '*.pgm'; % 1.pgm par exemple du rep s1 
    end
    chemin = fullfile(rep1,ext);
    list = dir(chemin);
    for n = 1:numel(list)
       I{n} = imread(fullfile(rep1,list(n).name),ext(3:end));
    end
    Merci d'avance

  2. #2
    Expert éminent sénior
    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
    Points : 14 830
    Points
    14 830
    Par défaut
    Qu'est sensée faire cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rep1=sprintf(rep,'%s',fname);
    Je verrais plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rep1=fullfile(rep,[fname,ext])
    Tu as inversé je pense les commentaires sur les 2 1ères lignes :
    <br>fname est le nom du fichier
    <br>rep le nom du répertoire.<br>Et à la fin de ta boucle for rep1 qui s'écrase à chaque tour sera égal à 'D:\MATLAB7\work\Projet\s4'...



    <br>Enfin bref, il faut que tu re-refléchisse bien à chaque étape de ton code.<br><br>Conseil : tu peux sortir la définition de rep et de ext de la boucle puisque c'est toujours la même chose.
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    bonjour,

    le nom des fichiers et bien 1.pgm ...... 10.pgm et chaque rép contiens ces fichiers cad : s1 contiens 1.pgm ...... 10.pgm images et ainsi de suite jusqu'a s4 .les 1.pgm ....10.pgm sont # pour chaque rép .
    j'ai 4 reps et chaqu'un contien 10 images .

    j'ai essayé ça aussi mais mon rep me donne que D: au lieu du chemain entier .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    fname = sprintf('s%d',imr); % imr de 1 à 4 pour le parcoure des reps
    rep =sprintf('D:\MATLAB7\work\work1\Projet\%s',fname)
    Merci

  4. #4
    Expert éminent sénior
    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
    Points : 14 830
    Points
    14 830
    Par défaut
    As-tu essayé avec fullfile comme je te l'ai proposé ?
    Je me demande si sprintf n'interprète pas le backslash \.
    Règles du Forum

    Adepte de la maïeutique

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 160
    Points
    53 160
    Par défaut
    Citation Envoyé par caro95470 Voir le message
    Je me demande si sprintf n'interprète pas le backslash \.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    >> rep =sprintf('D:\MATLAB7\work\work1\Projet\')
    Warning: Invalid escape sequence appears in format string. See help sprintf for valid escape sequences.
     
    rep =
     
    D:
     
    >> rep =sprintf('D:\\MATLAB7\\work\\work1\\Projet\\')
     
    rep =
     
    D:\MATLAB7\work\work1\Projet\
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup .

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 26/01/2014, 14h06
  2. Réponses: 18
    Dernier message: 28/02/2013, 17h59
  3. Lire des images dans un fichier 'raw'
    Par cedji dans le forum Images
    Réponses: 10
    Dernier message: 01/07/2009, 18h20
  4. Réponses: 2
    Dernier message: 02/01/2009, 11h38
  5. Réponses: 5
    Dernier message: 21/02/2007, 17h12

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