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

MATLAB Discussion :

parcourir des dossiers


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Points : 44
    Points
    44
    Par défaut parcourir des dossiers
    Salut, je débute en Matlab, et me sens un peu bloquer : j’ai un dossier nommé
    Base qui contient plusieurs dossiers et chaque dossier contient des images. Donc mon problème c’est comment je peux parcourir ces dossiers pour faire un traitement sur chaque image ??

    Ya il quelqu’un qui peux m’aider ??

  2. #2
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut
    La fonction demande de sélectionner un dossier et tu peux le sauver dans une variable

    et la fonction te donne un vecteur avec tous les fichier présent dans un dossier spécifié

    voilà ensuite il faut que tu y ajoute une boucle si tu a plusieurs dossier...
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Points : 44
    Points
    44
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    froot = './Base';
    list = dir(sprintf('%s\\*.jpg', froot));
    for index = 1:length(list)
       chemain_image=sprintf('%s\\%s', froot, list(index).name);
       image = imread(chemain_image);
    %--  faire le traitement sur l’image--%
     
    End

    J’ai utilisé ce code mais ce code fonctionne si les images son sous le dossier Base directement mais mon problème que mes images sont classer dans des dossiers et chaque dossier est nommé avec le nom de sa classe donc je dois parcourir tous les dossiers sous Base pour faire le traitement sur les images. Donc comment puise moi le faire ??

  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
    Si tu fais :
    sans préciser l'extension jpg il va te donner tous les fichiers ET tous les sous-répertoires.

    A toi ensuite de récupérer les fichiers, puis boucler sur les sous-répertoires.

    Le mieux étant d'utiliser une fonction récursive.

    Sinon tu peux aussi chercher sur le FEX ce genre de fonction doit déjà exister.
    Ou regarder cette fonction, elle te donnera des idées :
    Règles du Forum

    Adepte de la maïeutique

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Salut,

    Pour lire tous les fichiers texte de mon répertoire, voici ce que j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    % récupération des fichiers texte dans le répertoire de travail
    pwddir = fullfile(pwd,'*.txt');
    D = dir(pwddir);
    Je suppose que pour toi, il faut modifier le répertoire de recherche (pwd) et échanger *.txt par *.jpg

    En fait je pense a un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dossier = {'classe1' 'classe2' 'classe3'};
    for dos=1:numel(dossier)
           pwddir = fullfile(pwd,dossier{dos},'*.jpg');
           Filename = dir(pwddir);
    end
    attention Filename est utilisée en variable locale ici.

    Quand tu utilises la fonction dir tu sais avec "A.isdir" si le "A.name" correspondant est un répertoire ou non...

    Christophe

    PS : regardes aussi ce que Caro t'a dit...
    INCIA : MATLAB R2014a sous MAC OS 10.9.3

    Nous piétinerons éternellement aux frontières de l'Inconnu, cherchant à comprendre ce qui restera toujours incompréhensible. Et c'est précisément cela qui fait des nous des hommes. Isaac Asimov

Discussions similaires

  1. Parcourir des dossiers
    Par Arnau6 dans le forum C
    Réponses: 3
    Dernier message: 16/10/2012, 15h01
  2. [Débutant] Parcourir des dossiers!
    Par mr load dans le forum MATLAB
    Réponses: 2
    Dernier message: 27/04/2012, 15h59
  3. [PowerShell] Parcourir des dossiers et fichiers et extraire les données
    Par WarriorExtreme dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 23/03/2012, 15h50
  4. parcourir des dossiers et choisir un fichier
    Par juju44 dans le forum Macro
    Réponses: 3
    Dernier message: 11/04/2009, 18h33
  5. Parcourir des dossiers
    Par gazelle dans le forum Langage
    Réponses: 5
    Dernier message: 31/05/2007, 12h27

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