Creating a gif from a matrix of double.

25 visualizzazioni (ultimi 30 giorni)
andrea
andrea il 19 Apr 2020
Modificato: Ameer Hamza il 20 Apr 2020
My problem is that I have a set of matrices , each matrix contain only 1 and -1.
What I'm trying to do is to make a gif of this matrices in succesion, so that the gif frames are the rapresenation of the the matrices with colors, black for -1 and white for 1 (somthing like imagesc) . But from my code somenthind do not work.
In my code x is a cell array which contains my matrices .

Risposta accettata

Ameer Hamza
Ameer Hamza il 20 Apr 2020
Modificato: Ameer Hamza il 20 Apr 2020
See this example to create a gif using black and white imagesec() plots.
% 100 matrices of size 4x4 stored in cell array filled with random data
M = squeeze(mat2cell((rand(20,20,100) > 0.5)*2-1, 20, 20, ones(1,100)));
outFilename = 'myGifFile.gif';
fig = figure();
ax = axes();
colormap([0 0 0; 1 1 1]);
for i=1:100
imagesc(ax, M{i});
img = getframe(ax);
img = rgb2gray(img.cdata);
if i==1
imwrite(img, outFilename, 'gif', 'LoopCount', inf, 'DelayTime', 0.05)
else
imwrite(img, outFilename, 'gif', 'WriteMode', 'append', 'DelayTime', 0.05);
end
end

Più risposte (1)

Image Analyst
Image Analyst il 19 Apr 2020
If you want a non-animated one, just use imwrite().
  1 Commento
andrea
andrea il 19 Apr 2020
Not really of any help. I just wanna an animated gif of a sequence matrices which entries are -1 and 1 , I don't know if helps but i'm trying to make an animated gif of an Ising Model simulation.

Accedi per commentare.

Categorie

Scopri di più su Animation in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by