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 :

video d'un plot animé


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 69
    Points : 19
    Points
    19
    Par défaut video d'un plot animé
    Bonjour, j'essaye aujourd'hui de réaliser une video à partir d'un plot animé.

    J'ai lu la documentation au sujet de la video (format avi par exemple).
    Mais après lecture je ne sais pas si cela est réalisable, car j'ai lu qu'il fallait enregistré les images au préalable.
    Alors est-ce possible ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    fig=figure(1)
    set(fig,'doublebuffer','on')
    p=plot(temps1(1),Lpow2(1),'linewidth',2)
    axis ([0 temps1(end) 60 100])
    for n = 2:numel(temps1)
        set(p,'xdata',temps1(1:n),'ydata',Lpow2(1:n));
        drawnow
    end
    J'ai lu que je pouvais utiliser la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    mov = avifile('Niveau.avi','fps')
    F = getframe(gca);
    mov = addframe(mov,F)
    mov = close(mov);
    mais cela semble etre réservé, comme je le mentionne ci-dessus, à une succesion d'image.

  2. #2
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Salut,
    tu peux créer une vidéo à partir d'une succession de plot sans les sauvegarder.
    Je pense que tu trouveras ton bonheur sur la doc de la classe videoWriter :
    http://www.mathworks.fr/fr/help/matl...iterclass.html
    En particulier dans l'exemple "AVI File from Animation".

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 69
    Points : 19
    Points
    19
    Par défaut
    Alors j'ai lu la doc que tu m'a recommandé.

    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
     
     
    writerObj = VideoWriter('peaks.avi');
    open(writerObj);
    fig=figure(1)
    set(fig,'doublebuffer','on')
    p=plot(temps1(1),Lpow2(1),'linewidth',2); 
    set(p,'xdata',temps1(1:n1),'ydata',Lpow2(1:n1));
    % n1 correspond à la longeur du vecteur
     
    for i = 1:n1
       p=plot(temps1(i),Lpow2(i),'linewidth',2);
       frame = getframe;
       writeVideo(writerObj,frame);
    end
     
    close(writerObj);
    mais matlab m'indique une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Warning: No video frames were written to this file. The file may be invalid. 
    > In VideoWriter.VideoWriter>VideoWriter.close at 260
      In VideoWriter.VideoWriter>VideoWriter.delete at 216
      In courbeanime2 at 1
      In run at 57
    Au final, j'obtiens une video mais fixe ou tout le graphe apparait.

  4. #4
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Salut,
    ce warning apparait si tu as fait l'opération une fois et qu'elle a planté avant qu'il n'ait eu le temps de finir et fermer l'objet videowriter.
    Si tu n'as pas d'erreur autre que celle ci qui s'affiche, relancer le script devrait suffire pour le faire fonctionner.

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 69
    Points : 19
    Points
    19
    Par défaut
    Je l'ai relancé mais rien ne s'affiche sur mon plot. Je vois l'axe des abscisses s'afficher uniquement.

    Matlab ne m'annonce pas d'erreur. Mais bon mon programme doit lui en contenir

  6. #6
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Je n'ai pas l'impression que le problème soit lié au videowriter :
    commentes les lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    writerObj = VideoWriter('peaks.avi');
    open(writerObj);
    %...
       frame = getframe;
       writeVideo(writerObj,frame)
    Que t'affiche matlab? Tu devrais voir ton animation.

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 69
    Points : 19
    Points
    19
    Par défaut
    En effet je pense que le problème vient tout simplement de mes lignes de code;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    fig=figure(1)
    set(fig,'doublebuffer','on')
    p=plot(temps1(1),Lpow2(1),'linewidth',2); 
    axis ([0 temps1(end) 60 100])
    set(p,'xdata',temps1(1:n1),'ydata',Lpow2(1:n1));
    % n1 correspond à la longeur du vecteur
     
    for i = 1:n1
       p=plot(temps1(i),Lpow2(i),'linewidth',2);
       frame = getframe;
       writeVideo(writerObj,frame);
    end

  8. #8
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    J'ai l'impression que tu veux plutôt faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    fig=figure(1)
    set(fig,'doublebuffer','on')
    p=plot(temps1(1),Lpow2(1),'linewidth',2); 
    axis ([0 temps1(end) 60 100])
    % tu traçais ici la figure entière avant de repasser dessus dans la boucle
    % n1 correspond à la longeur du vecteur
    
    for i = 1:n1
       set(p,'xdata',temps1(1:i),'ydata',Lpow2(1:i));
       frame = getframe;
       writeVideo(writerObj,frame);
    end

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 69
    Points : 19
    Points
    19
    Par défaut
    Merci pour tes réponses précieuses..

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 05/11/2009, 17h39
  2. Préchargement Animation ( video )
    Par snoups58 dans le forum Flash
    Réponses: 2
    Dernier message: 31/12/2007, 14h29
  3. Télecharger un fichier video à partir d'une animation flash
    Par filemon dans le forum Intégration
    Réponses: 1
    Dernier message: 28/09/2007, 07h33
  4. animation/video en perspective
    Par FraK dans le forum Flash
    Réponses: 10
    Dernier message: 05/09/2007, 17h42
  5. Réponses: 4
    Dernier message: 08/12/2006, 08h24

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