Bonjour,
Je peux déjà faire un GIF à partir d'une succession de figures:
J'aimerais maintenant en faire un film (pour faire "pause" quand je le souhaite).
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'utilise Matlab R2018b, j'utilise alors VideoWrier:
mais en argument de writeVideo, je met frame ce qui est faux car il n'accepte que les
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)
alors j'essaye:
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.
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)
Merci d'avance.
Partager