Bonjour tous,
j'ai un problème avec les GIF sous matlab et j'aimerai savoir si vous savez le résoudre.
J'ai fait un premier bout de code pour générer un GIF et tout fonctionne très bien
Par contre, de la meme façon, j'ai essayé de faire un gif mais avec une image 2D et là mon GIF obtenu ne s'anime pas...
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 filename = 'zzz.gif'; x=-2:.2:2;y=-2:.2:2; [X,Y] = meshgrid(x,y); for n = 1:0.5:5 figGIF=figure(1); plot(x,y.*n.*n); axis([x(1) x(end) 0 50]); drawnow frame = getframe(figGIF); im = frame2im(frame); [imind,cm] = rgb2ind(im,256); if n == 1;imwrite(imind,cm,filename,'gif', 'Loopcount',inf); else;imwrite(imind,cm,filename,'gif','WriteMode','append'); end end
Pourriez vous lancer ce code et me dire si je GIF obtenu fonctionne chez vous ?
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 filename = 'zzz.gif'; x=-2:.2:2;y=-2:.2:2; [X,Y] = meshgrid(x,y); for n = 1:0.5:5 Z = X .* exp(-n.*X.^2-Y.^2); figGIF=figure(1); pcolor(X,Y,Z); hold on; [C,h]=contourf(X,Y,Z.*n); clabel(C,h); drawnow frame = getframe(figGIF); im = frame2im(frame); [imind,cm] = rgb2ind(im,256); if n == 1;imwrite(imind,cm,filename,'gif', 'Loopcount',inf); else;imwrite(imind,cm,filename,'gif','WriteMode','append'); end end
si non, avez vous une idée de pourquoi ça ne fonctionne pas ce bout de code et que le premier fonctionne ?
je vous remercie
Partager