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 :

sauvegarder le contenu d'un axis sous forme d'une image [Débutant]


Sujet :

Images

  1. #1
    Membre régulier Avatar de miss_angel
    Inscrit en
    Février 2008
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 210
    Points : 111
    Points
    111
    Par défaut sauvegarder le contenu d'un axis sous forme d'une image
    Bonjour à tous
    En fait je cherche à sauvegarder l'image afficher sur un axis, pour l'utiliser ultérieurement. En cherchant sur le forum j'ai parvenu à développer un petit code qui semble logique mais qui ne tourne pas
    Voici ma proposition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
         h = getframe(handles.img); %le nom de l'axe c'est img
         saveas(h,saveName,'jpg');
    En l'exécutant j'obtiens l'erreur suivante:" Invalid handle "

    Merci pour un coup de pouce

  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 305
    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 305
    Points : 52 884
    Points
    52 884
    Par défaut
    Essaie plutôt comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    saveas(handles.img,saveName,'jpg');
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    F = getframe(handles.img);
    imwrite(F.cdata,saveName,'jpg');

  3. #3
    Membre régulier Avatar de miss_angel
    Inscrit en
    Février 2008
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 210
    Points : 111
    Points
    111
    Par défaut
    Merci Cher Dut,
    Mais voyons avec ce code j'obtiens des images blancs (vide)
    saveas(handles.img,saveName,'jpg');
    et un erreur "Invalid handle" avec cette proposition:
    F = getframe(handles.img);
    imwrite(F.cdata,saveName,'jpg');
    Merci d'avance

  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 305
    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 305
    Points : 52 884
    Points
    52 884
    Par défaut
    Es-tu sure que la variable handles.img contient bien identifiant de l'objet Axes où est tracée l'image ?

  5. #5
    Membre régulier Avatar de miss_angel
    Inscrit en
    Février 2008
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 210
    Points : 111
    Points
    111
    Par défaut
    Ouai, d'ailleurs j'utilise la même notification pour ouvrir les axes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    set(handles.video,'HandleVisibility','ON');
    imshow(I);
    J'ai cherché encore une autre fois sur le forum et j'ai essayé ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    h = getframe(gcf, get(handles.video,'Position'));
          saveas(h,saveName,'jpg');
    Mais toujours le même bug, 'Invalid handle'

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 305
    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 305
    Points : 52 884
    Points
    52 884
    Par défaut
    Utilise IMSHOW comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imshow(I,'parent',handles.video);
    (si handles.video est bien l'identifiant de l'objet Axes...)

    puis pour sauvegarder ton image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    saveas(handles.video,saveName,'jpg');
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    F = getframe(handles.video);
    imwrite(F.cdata,saveName,'jpg');

  7. #7
    Membre régulier Avatar de miss_angel
    Inscrit en
    Février 2008
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 210
    Points : 111
    Points
    111
    Par défaut
    merci encore Dut pour ton aide
    Avec cette proposition l'erreur "Invalid handles" se disparait le programme tourne bien mais les images enregistrées sont vides (avec un couleur blanche)

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 305
    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 305
    Points : 52 884
    Points
    52 884
    Par défaut
    Tu pourrais nous montrer ton code ?

    Et aussi nous donner ta version de MATLAB et le système d'exploitation sur lequel tu travailles

  9. #9
    Membre régulier Avatar de miss_angel
    Inscrit en
    Février 2008
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 210
    Points : 111
    Points
    111
    Par défaut
    saveas(handles.video,saveName,'bmp');
    J'ai changé l'extension de l'image à enregistrer en 'bmp' et l'enregistrement se
    fait très bien (plus d'image vide).
    Toutefois j'obtient tout le contenu de la figure, alors que je cherche à enregistrer seulement le contenu de l'axe.
    Ci-joint un exemple d'image enregistrée.

  10. #10
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 305
    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 305
    Points : 52 884
    Points
    52 884
    Par défaut
    Pourquoi ne pas simplement utiliser IMWRITE avec la matrice I contenant les intensité des pixels de l'image ?

  11. #11
    Membre régulier Avatar de miss_angel
    Inscrit en
    Février 2008
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 210
    Points : 111
    Points
    111
    Par défaut
    Ok ça roule maintenant
    Merci encore Cher Dut

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

Discussions similaires

  1. Positionner un lien sous forme d'une image
    Par allayahassine dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 29/01/2015, 12h20
  2. Sauvegarder une scène GLScene sous forme d'une image
    Par essof_salhi dans le forum Delphi
    Réponses: 4
    Dernier message: 12/06/2014, 01h45
  3. Réponses: 5
    Dernier message: 06/09/2012, 18h15
  4. Réponses: 0
    Dernier message: 28/03/2008, 13h24
  5. Réponses: 5
    Dernier message: 03/04/2007, 13h44

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