如何在matlab中从3d矩阵制作视频

Mec*_*chy 5 matlab matrix

我在matlab中有一大堆2D矩阵(它们假设构成一个3D矩阵,其中第三维是时间),我正在尝试从图像数据制作视频.

我知道我可以使用surf()来制作使用其中一个2D矩阵的曲面图,但我不确定调用哪个命令来获取所有2D矩阵并将它们转换为曲面图的视频.

有人可以帮忙吗?

tmp*_*rce 7

内置功能immovie(X,map)是您想要的一个选项.此函数需要一个m-by-n-by-1-by-k4D矩阵,其中第四维是电影的帧.由于您是从3D矩阵开始,请先使用置换:

Orig; % 3D matrix
X = permute(Orig,[1 2 4 3]); % 4D matrix
movie = immovie(X,map); % map is the colormap you want to use

implay(movie);
Run Code Online (Sandbox Code Playgroud)

  • 哦,如果有人想知道我是怎么做的,我就关注这个网站:http://www.mikesoltys.com/2012/02/26/tool-of-the-week-making-animations-in-matlab/ ,你必须记住,你必须用zlim([min,max]),xlim(同样的东西)ylim(相同)来设置你的轴,以使视频正确.如果你不这样做,它会尝试改变尺寸.哦,然后你可能需要更换摄像头以及campos([x,y,z]) (3认同)