Bonjour,

Je peux déjà faire un GIF à partir d'une succession de figures:

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
 
for tt=1:10
    FIG2=figure() 
[...]
   frame = getframe(FIG2);
    im{tt} = frame2im(frame);
end
 
 
for idx_gif = 1:tt
    [A,map] = rgb2ind(im{idx_gif},256);
    if idx_gif == 1
        imwrite(A,map,filenameGIF,'gif','LoopCount',Inf,'DelayTime',delaytimegif);
    else
        imwrite(A,map,filenameGIF,'gif','WriteMode','append','DelayTime',delaytimegif);
    end
end
J'aimerais maintenant en faire un film (pour faire "pause" quand je le souhaite).

J'utilise Matlab R2018b, j'utilise alors VideoWrier:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
% movie  
v=VideoWriter('movie.avi');
open(v)
writeVideo(v,frame)
close(v)
mais en argument de writeVideo, je met frame ce qui est faux car il n'accepte que les

alors j'essaye:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
v = VideoWriter('Movies.avi');
open(v);
 
for tt=1:10
FIG2=figure() ;
 
[...]
 
    frame = getframe(FIG2);
    im{tt} = frame2im(frame);
    writeVideo(v,frame);
end
close(v)
cela fonctionne mais j'aimerais faire comme le GIF: le créer à la fin et non dans la boucle de calcul et de changer le "delay" pour régler la vitesse de diffusion.

Merci d'avance.