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 :

transformer des matrices en images et les sauvegarder


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 21
    Points : 11
    Points
    11
    Par défaut transformer des matrices en images et les sauvegarder
    Bonjour n'étant toujours pas experte en Matlab, et ayant cherché "en vain" pendant des heures, j'ai décidé de solliciter votre aide ^^

    J'ai plusieurs matrices dans un fichier. Mon but c'est d'en faire des images et de les enregistrer (les images). Je suis arrivée à les afficher mais je n'arrive pas à trouver comment les enregistrer dans une boucle, puisque les fichiers images n'existent pas encore dans mon ordinateur.

    Voici le code si ça peut vous aider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for j=3:numel(list);
        j
    fid=fopen(list(j).name,'r');
    PL=load (list(j).name);
    Nom=list(j).name;
    figure
    contourf(PL)
    shading flat
    title(Nom(1:17))
    fclose('all');
    end
    je trouve un tas de fonctions comme imwrite, mais elles n'ont pas l'air d'aimer les indices..

    Merci!

  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 318
    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 318
    Points : 52 956
    Points
    52 956
    Par défaut
    Une solution consiste à utiliser la fonction GETFRAME.
    Fais une recherche sur ce forum, ce sujet a déjà été plusieurs fois abordé.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup!!! j'avoue qu'elle m'a échappée!
    une dernière petite question svp j'avais des images colorées au début mais là j'obtiens du noir et blanc.. Y a-t-il un moyen de retrouver les images en couleurs (afin de les enregistrer bien sûr)??

    Merci encore Dut ^^

    Edit: j'ai oublié de mentionner que la fonction que j'ai utilisée est "imwrite" , getframe me génère une erreur

  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 318
    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 318
    Points : 52 956
    Points
    52 956
    Par défaut
    Alors...
    1. Montre nous ton code
    2. Montre nous le message d'erreur renvoyé par GETFRAME
    3. Essaie ceci :

    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
    cmap = {'copper' 'winter' 'pink' 'autumn'};
     
    figure
    [C,h] = contourf(peaks(20),10);
    shading flat
    axis off
     
    for n = 1:numel(cmap);
     
        colormap(cmap{n});
        f = getframe(gca);
     
        fname = sprintf('test_%s.jpg',cmap{n});
        imwrite(f.cdata,fname,'jpg');
     
    end

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Merci infiniment!! ça marche à merveille!
    Il faut noter qu'il a l'air de faire des captures d'écran, parce que je je réduis la fenêtre il enregistre une image noire, blanche, ou parfois celle de l'autre fenêtre ouverte. Il suffit de ne pas réduire

    Thanks again Dut

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/02/2010, 23h02
  2. Créer des champs en JavaScript et les sauvegarder
    Par pitichamo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/10/2009, 17h21
  3. Redimensionner des images et les sauvegarder
    Par hellspawn_ludo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/08/2007, 16h43
  4. Réponses: 43
    Dernier message: 14/06/2007, 18h56
  5. Transformer une matrice à une image
    Par stiko83 dans le forum C++
    Réponses: 24
    Dernier message: 02/08/2006, 00h11

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