How can I automatically save a sequence of slice() images? It doesn't seem to fall under the same approach that plot() images do

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 24 Jan. 2016

0 Stimmen

It is exactly the same, getframe() / imwrite(), or print(), or saveas()

2 Kommentare

J W
J W am 24 Jan. 2016
Bearbeitet: J W am 24 Jan. 2016
Hmm. It seems as if I do:
x=1:1:3;
[X,Y,Z]=meshgrid(x,x,x);
u=sin(X);
h=slice(X,Y,Z,u,1,1,1);
imwrite(h,'test.jpg');
it results in a blank frame result
slice() returns a graphics object, not an array of data. imwrite() is only for writing arrays of data. One possibility using imwrite() is
x=1:1:3;
[X,Y,Z]=meshgrid(x,x,x);
u=sin(X);
slice(X,Y,Z,u,1,1,1);
pause(0.01); %draws and gives time to render
h = getframe(gca);
imwrite(h,'test.jpg');

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

J W
J W am 24 Jan. 2016
Bearbeitet: J W am 24 Jan. 2016

0 Stimmen

Figured it out. Use a direct function handle.
h=figure;
slice(X,Y,Z,u,1,1,1);
saveas(h,'test.jpg');
I'll be accepting the previous answer because it was still correct.

Kategorien

Mehr zu Images finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by