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 :

Problème avec length


Sujet :

Images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 286
    Par défaut Problème avec length
    salut, je veux généraliser un peu mon code de telle sorte qui'il sélectionne les fichiers selon votre choix soit dans le même répertoire ou dans différents emplacements, mon seul problème jusqu'au la c'est avec le paramètre length, qui donne deux valeurs différentes malgré que je sélectionne le même nombre d'image soit disant 5 images:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [FileName,PathName] = uigetfile({'*.*'}, ...
        'Select the images','MultiSelect', 'on'); 
    A = cell(length(FileName));
    length(FileName)=5;% la c'est normal, je séléctionne 5 fichiers a la fois

    Dans le second

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for i = 1:n
        [FileName,PathName] = uigetfile({'*.*'}, ...
        'Select the images','MultiSelect', 'on'); %File Selector
        img = imread(fullfile(PathName,FileName));
        A{i} = img;
    end
    length(FileName)=7%malgre j'ai sélectionné que 5

    C'est quoi l'erreur svp

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Utilise plutôt numel à la place de length

    Sinon, je ne reproduis pas ce problème sur ma machine.

    Es-tu sûr du nombre de fichiers que tu sélectionnes ?

    D'autre part, les deux lignes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        img = imread(fullfile(PathName,FileName));
        A{i} = img;
    deviennent simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        A{i} = imread(fullfile(PathName,FileName));

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 286
    Par défaut
    Bonjour Dut, J'espère que vous allez bien! ça n'a pas marché, je ne sais pas pourquoi le nombre de fichiers n'est pas le même avec numel(FileName), pour moi numel(FileName) doit prendre la même valeur de celle de n, voici un peu de 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
    % Select files located in different directory
     
    n = input('saisir la valeur de n a reserver = ');
    A = cell(n);
     
    for i = 1:n
        [FileName,PathName] = uigetfile({'*.*'}, ...
        'Select the images','MultiSelect', 'on'); %File Selector
        A{i}= imread(fullfile(PathName,FileName));
    end
    % Modelling of the domain [x0, x1] x [y0, y1]
     
    X = [1 1 ; size(img,2) size(img,2)];
    Y = [1 size(img,1) ; 1 size(img,1)];
    Z = ones(2);
     
    figure
    hold on
     
    %# plot each slice as a texture-mapped surface (stacked along the Z-dimension)
     
    for i = 1:numel(FileName)
       surface('XData',X,'YData',Y,'ZData',Z*i, ...
           'Facecolor','texturemap','CData',A{i});
    end
     
    view(3);rotate3d on  %display in 3D

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Winjerome t'a déjà fait la remarque dans une autre discussion, ton code doit être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [FileName,PathName] = uigetfile({'*.*'}, ...
        'Select the images','MultiSelect', 'on'); %File Selector
    
    n = numel(FileName);
    
    A = cell(n,1);
    
    for i = 1:n
        
        A{i} = imread(fullfile(PathName,FileName{n}));
        
    end

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 286
    Par défaut
    Ah oui, voua avez raison vous les deux, j'ai pas fait attention au niveau de cell. Juste une remarque, j'ai introduit uigetfile a l'intérieur de la boucle car mes fichiers sont pas localisés dans le même emplacement, de plus avec ça j'aurai l'avantage de sélectionner mes données selon le choix voulu.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ce code au beau être dans une boucle, il en reste qu'avec l'option 'MultiSelect', 'on' tu dois parcourir chaque fichier sélectionné dans une autre boucle.

Discussions similaires

  1. Problème avec "Content-Length" HTTP
    Par n5Rzn1D9dC dans le forum Développement
    Réponses: 1
    Dernier message: 07/12/2013, 13h31
  2. Problème taille d'une chaîne avec length
    Par emmesse dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 03/03/2012, 11h19
  3. problème avec *a.length
    Par parsy dans le forum Ruby
    Réponses: 1
    Dernier message: 01/10/2010, 16h02
  4. Problème avec Push et Length
    Par minette dans le forum Ruby
    Réponses: 8
    Dernier message: 12/01/2007, 20h52
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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