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 :

[contourf] Créer une animation vidéo


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Points : 7
    Points
    7
    Par défaut [contourf] Créer une animation vidéo
    Bonjour,


    ce message fais suite à ma précédente discussion

    Je voudrai créer une animation de différentes figures de fichiers ( ce qui donne l'évolution de la température au cours du temps ), je voudrai créer une vidéo normalement c'est faisable sous matlab.

    Je sais que je dois créer une boucle pour télécharger des fichier par exemple proj001 ---proj002---proj 003

    Je ne sais pas comment ..

    Vous trouverez en joint les fichiers

    Je ne vous oublierai jamais cette aide ).
    par ce que J'ai cherché partout ........
    Fichiers attachés Fichiers attachés

  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 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Citation Envoyé par ayjob Voir le message
    Je sais que je dois créer une boucle pour télécharger des fichier par exemple proj001 ---proj002---proj 003

    Je ne sais pas comment ..
    Voir la FAQ : Comment nommer une suite de fichiers : nom_1.ext, nom_2.ext... nom_N.ext ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    Ok, oui pour créer ensuite une vidéo ou une animation de différentes fidgures je sfais comment??


    Cdt

  4. #4
    Membre régulier
    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
    Points : 105
    Points
    105
    Par défaut
    Bonsoir, ça doit être quelque chose qui ressemble à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PathName = uigetdir; % open standard dialog box 
    c = dir(fullfile(PathName,'*.txt')); 
     
    for i=1:numel(c)
         % Traitement 
         M(i)= getframe;
    end
     
    movie(M,numtimes,fps)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    Merci pour votre réponse,

    Malheureusement je n'ai pas su l'utiliser dans mon cas .
    Moi je veut créer une vidéo une animation de différentes figures (countourf(xyz)) de différents fichiers (j'ai tout mis en joint au début de la discuss).

    Je suis un débutant en matlab , surtout en tout ce qui est postprocessing et graphique .

    Si quelqu'un pourrait m'aider je serai vraiment ravi.

    Merci

  6. #6
    Membre régulier
    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
    Points : 105
    Points
    105
    Par défaut
    Bonsoir, personnellement j'ai jamais travailler avec ça. Peux tu nous montrer ton code (ce que tu a fais jusque là)? Veux tu dire ça:

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    clc;close all; clear all:
     
    PathName = uigetdir; % open standard dialog box 
    c = dir(fullfile(PathName,'*.txt'));
     
    for i=1:numel(c)
         % Traitement 
     
    a=load(fullfile(PathName, c(i).name));
    N=100
    id=a(:,1);
    x=a(:,2);
    y=a(:,3);
    z=a(:,7);
    nd=length(x)
    methode='v4'; 
    Xmin = min(x);
    Xmax = max(x);
    Ymin = min(y);
    Ymax = max(y);
    X =linspace(Xmin,Xmax,N);
    Y =linspace(Ymax,Ymin,N);
     
    [X,Y] = meshgrid(X,Y);
    Z = griddata(x,y,z,X,Y, methode);
     
    idx(1) = find(X(1,:)<0.045, 1, 'last');
    idx(2) = find(X(1,:)>0.065, 1, 'first');
     
    idx(3) = find(Y(:,1)<0.045, 1, 'first');
    idx(4) = find(Y(:,1)>0.065, 1, 'last');
     
    Z(idx(4):idx(3),1:idx(2)) = NaN;
    Z(idx(3):end,idx(1):idx(2)) = NaN;
     
    figure
    hold on
     
    contourf(+X,-Y,Z,10);
    contourf(-X,-Y,Z,10);
    contourf(-X,+Y,Z,10);
    contourf(+X,+Y,Z,10);
     
    axis equal tight
         M(i)= getframe;
    end
     
    movie(M,3,10)
    Pour finir, tu peux enregistrer ton animation sous forme d'une video en format mpg avec mgpwrite. La fonction est disponible ici:
    http://www.mathworks.com/matlabcentr...e/309-mpgwrite

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    oui c'est ça mon code..
    L'animation a bien fonctionné et je te remercie beaucoup pour ça.
    Mais moi je veux que matlab me génère un fichier video à la fin, si c'est possible?, avec la possibilité de régler la fréquence d’affichage de figures?? (animation lente par exemple ...pour pouvoir bien analyser avant de passer au temps suivant........

    J'apprécie vraiment ton aide..
    et 123 viva l'algérie )

  8. #8
    Membre régulier
    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
    Points : 105
    Points
    105
    Par défaut
    Salut
    possibilité de régler la fréquence d’affichage de figures?? (animation lente par exemple ...pour pouvoir bien analyser avant de passer au temps suivant........
    Essaie par exemple:

    je veux que matlab me génère un fichier video à la fin, si c'est possible?
    Oui c'est possible, avec movie2avi et mpgwrite

    Sinon, je te propose ça et à toi de voire, la video peut ne pas s'ouvrir avec VLC donc choisis un autre lecteur :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    close all;
    clear all;clc;
    
    PathName = uigetdir; % open standard dialog box 
    c = dir(fullfile(PathName,'*.txt'));
    aviobj = avifile('example.avi','fps', 2, 'compression','None');
    for i=1:numel(c)
         % Traitement 
         
    a=load(fullfile(PathName, c(i).name));
    N=100
    id=a(:,1);
    x=a(:,2);
    y=a(:,3);
    z=a(:,7);
    nd=length(x)
    methode='v4'; 
    Xmin = min(x);
    Xmax = max(x);
    Ymin = min(y);
    Ymax = max(y);
    X =linspace(Xmin,Xmax,N);
    Y =linspace(Ymax,Ymin,N);
    
    [X,Y] = meshgrid(X,Y);
    Z = griddata(x,y,z,X,Y, methode);
    
    idx(1) = find(X(1,:)<0.045, 1, 'last');
    idx(2) = find(X(1,:)>0.065, 1, 'first');
    
    idx(3) = find(Y(:,1)<0.045, 1, 'first');
    idx(4) = find(Y(:,1)>0.065, 1, 'last');
    
    Z(idx(4):idx(3),1:idx(2)) = NaN;
    Z(idx(3):end,idx(1):idx(2)) = NaN;
    
    fig= figure;
    hold on
    contourf(+X,-Y,Z,10);
    contourf(-X,-Y,Z,10);
    contourf(-X,+Y,Z,10);
    contourf(+X,+Y,Z,10);
    
    axis equal tight
    
    M= getframe (fig);
      aviobj = addframe(aviobj,M);       
    
    end
    close all; % tu peux l'enlever si tu veux fermer tes fenêtres manuelement
    
    aviobj = close(aviobj)

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Un seul objet figure suffit :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    close all;
    clear all;clc;
     
    PathName = uigetdir; % open standard dialog box
    c = dir(fullfile(PathName,'*.txt'));
    aviobj = avifile('example.avi','fps', 2, 'compression','None');
     
    fig = figure;
     
    N = 100;
    methode = 'v4';
     
    for i = 1:numel(c)
     
        a = load(fullfile(PathName, c(i).name));
     
        id = a(:,1);
        x = a(:,2);
        y = a(:,3);
        z = a(:,7);
        nd = length(x);    
        Xmin = min(x);
        Xmax = max(x);
        Ymin = min(y);
        Ymax = max(y);
        X = linspace(Xmin,Xmax,N);
        Y = linspace(Ymax,Ymin,N);
     
        [X,Y] = meshgrid(X,Y);
        Z = griddata(x,y,z,X,Y, methode);
     
        idx(1) = find(X(1,:)<0.045, 1, 'last');
        idx(2) = find(X(1,:)>0.065, 1, 'first');
     
        idx(3) = find(Y(:,1)<0.045, 1, 'first');
        idx(4) = find(Y(:,1)>0.065, 1, 'last');
     
        Z(idx(4):idx(3),1:idx(2)) = NaN;
        Z(idx(3):end,idx(1):idx(2)) = NaN;
     
        hold on
        contourf(+X,-Y,Z,10);
        contourf(-X,-Y,Z,10);
        contourf(-X,+Y,Z,10);
        contourf(+X,+Y,Z,10);
     
        axis equal tight
     
        M = getframe (fig);
        aviobj = addframe(aviobj,M);
     
        cla
     
    end
     
    close all; % tu peux l'enlever si tu veux fermer tes fenêtres manuelement
     
    aviobj = close(aviobj);
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Wow mon poste traitement fonctionne super bien je pourrai voir l'évolution des température facilement en animation.

    Ce qui me reste à faire et si c'est possible bien sure, c'est d'afficher le temps sur la vidéo, par exemple si j'ai des résultats chaque 5s, je voudrai que matlab m'affiche sur la video ce temps (en coin haut-gauche par exemple), genre 5s---10s--15s pour savoir à quelle temps correspond les résultats affichés.

    Merci d'avance. et Merci bcp .......

  11. #11
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Ce sera plus simple en ajoutant un titre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    for i = ...
     
        %...
     
        str = sprintf('%d s', 5*i);
        title(str)
     
        M = getframe (fig);
        aviobj = addframe(aviobj,M);
     
        cla
     
    end
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    Nikel,

    Mission accomplie lol,
    Merci bcp

Discussions similaires

  1. comment créer une séquence vidéo depuis flash
    Par rach20032 dans le forum Flash
    Réponses: 4
    Dernier message: 27/09/2007, 06h38
  2. Créer une animation
    Par soldat yul dans le forum Flash
    Réponses: 7
    Dernier message: 16/07/2007, 17h59
  3. Créer une animation
    Par zappa37 dans le forum Calcul scientifique
    Réponses: 4
    Dernier message: 13/01/2007, 21h22
  4. [GD] Est-il possible de créer une animation ?
    Par JavaAcro dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 02/03/2006, 16h33
  5. [FLASH MX2004] Aide pour créer une animation
    Par SnakeTales dans le forum Flash
    Réponses: 5
    Dernier message: 04/08/2005, 10h50

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