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 :

Sauvegarde de plusieurs données dans un fichier texte


Sujet :

MATLAB

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 229
    Par défaut Sauvegarde de plusieurs données dans un fichier texte
    Bonjour tous,

    Je vais décrire mon problème et j'espère que vous puissiez m'aider.
    En fait, j'ai une interface qui me permet de lire des images. Une sélection manuelle d'une zone de l'image me permet de créer une matrice qui contient tous les pixels et d'autres attributs.
    En fait mon problème ne concerne pas l'imagerie mais plutôt c'est le coté programmation.
    Donc le problème est le suivant:
    - En fait je commence par l'image 1 de mon dossier, la matrice se remplit et il n'ya aucun problème.
    - Pour l'image suivante, je récupère l'index de la matrice et je continue à remplir ma matrice. Jusqua mnt il n'ya aucun problème.
    Après le remplissage de la matrice, je veux sauvegarder son contenu dans un document texte via la commande csvwrite.
    Le problème c'est que cette commande fonctionne correctement pour une seule image cad le fichier texte est bien remplie . Par contre si je traite 2 images, il se crée un fichier contenant des caractères bizarres.

    J'espere j bien expliqué mon problème.
    Merci pour toute contribution.

  2. #2
    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
    Citation Envoyé par Christinita Voir le message
    J'espere j bien expliqué mon problème.
    La meilleure explication serait de nous montrer ton code (celui où tu écris tes images surtout)

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 229
    Par défaut
    Avec plaisir , voici le code, pour le 3eme boucle, pour tester si je vais affecter 1 au pixel ou -1.
    tab est la matrice dont je vous ai parlé
    cptsuivant est une var pour stocker le dernier indice de tab pour l'utiliser dans l'execution suivante.

    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
    for i=1:size(Image1,1)
        for j=1:size(Image1,2)
            for k=1:size(x)  
     
               if ( i==x(k) && j==y(k) ) 
                test=1;                               
               end
     
               if (test==1) 
                   break; 
               end 
     
            end % 3eme for 
     
            if(test==1) % si test =1 alors lui (i,j) affecter la classe +1
             tab(cpt,(1:4))=[i,j,Image1(i,j),+1]; %tumor 
             nb1=nb1+1; %nb pts internes et contours 
            else 
             tab(cpt,(1:4))=[i,j,Image1(i,j),-1]; 
             nb2=nb2+1; % nb pt externes 
            end 
            cpt=cpt+1; 
            test=0;
        end
    end 
     
    cptsuivant=cpt-1
    csvwrite('test.txt',tab);
    merci.

  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
    As-tu regardé à quoi ressemblait ta variable tab quand il y a plus d'une image ?
    En particulier quelle est sa taille ?

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 229
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    As-tu regardé à quoi ressemblait ta variable tab quand il y a plus d'une image ?
    En particulier quelle est sa taille ?
    Oui, en fait tab est une matrice. Pour la première exe, size de tab est [4900 4]
    Après la 2eme exe, la taille devient [8000 4].

    A mon avis la var tab se remplit correctement. mais je ne vois pas le problème.

    Merci encore.

  6. #6
    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
    Là ton code ne concerne que la sauvegarde d'une image.
    Comment se fait l'itération sur les différentes images ?

    Lors de l'enregistrement de la 2ème image le fichier test.txt est fermé (cela pourrait posé des problèmes s'il était ouvert) ?

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 229
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    Là ton code ne concerne que la sauvegarde d'une image.
    Comment se fait l'itération sur les différentes images ?

    Lors de l'enregistrement de la 2ème image le fichier test.txt est fermé (cela pourrait posé des problèmes s'il était ouvert) ?
    Effectivement le code traite une seule image, à chaque fois l'utilisateur clique sur un bouton, ce code s'exécute puisqu'on ne sait pas d'avance combien d'images il va manipuler.

    Pour cette raison, il n'ya pas de boucles sur les images.

  8. #8
    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
    Et si tu essayes de supprimer le fichier avant le csvwrite avec :ça fonctionne ?

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 229
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    Et si tu essayes de supprimer le fichier avant le csvwrite avec :ça fonctionne ?
    Malheureusement de même, pas de problème dans l'exécution 1. Et après l'exe 2, la matrice est remplie mais le fichier ne contient que des caractères bizarres.

  10. #10
    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
    Peux-tu nous montrer les 10 premières lignes du fichier qui contient des caractères bizarres ?

    Sinon, question que j'aurais du poser dès le départ : tu as vraiment besoin d'enregistrer au format texte ?
    Comment vas-tu te servir de ce fichier après ?

Discussions similaires

  1. [VBA-E]Ecriture de données dans un fichier texte
    Par osito57 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 18/08/2017, 20h42
  2. Sauvegarde et ajout de données dans un fichier texte
    Par hanane78 dans le forum MATLAB
    Réponses: 8
    Dernier message: 22/05/2007, 14h07
  3. Extraction de données dans un fichier texte en VB6 !
    Par rockroa dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/06/2006, 17h00
  4. Réponses: 2
    Dernier message: 16/01/2006, 20h34
  5. Réponses: 3
    Dernier message: 22/02/2004, 21h09

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