Sequence of slice() images

1 回表示 (過去 30 日間)
J W
J W 2016 年 1 月 24 日
コメント済み: Walter Roberson 2016 年 1 月 24 日
How can I automatically save a sequence of slice() images? It doesn't seem to fall under the same approach that plot() images do

採用された回答

Walter Roberson
Walter Roberson 2016 年 1 月 24 日
It is exactly the same, getframe() / imwrite(), or print(), or saveas()
  2 件のコメント
J W
J W 2016 年 1 月 24 日
編集済み: J W 2016 年 1 月 24 日
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
Walter Roberson
Walter Roberson 2016 年 1 月 24 日
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');

サインインしてコメントする。

その他の回答 (1 件)

J W
J W 2016 年 1 月 24 日
編集済み: J W 2016 年 1 月 24 日
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.

Community Treasure Hunt

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

Start Hunting!

Translated by