Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在matlab中从3d矩阵制作视频_Matlab_Matrix - Fatal编程技术网

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

如何在matlab中从3d矩阵制作视频,matlab,matrix,Matlab,Matrix,我在matlab中有一大堆2D矩阵(假设它们组成一个3D矩阵,其中第三维是时间),我试图从图像数据中制作视频 我知道我可以使用surf()使用其中一个2D矩阵生成曲面图,但我不确定调用哪个命令来获取所有2D矩阵并将其转换为曲面图的视频 有人能帮忙吗?内置功能是您所需的一个选项。此函数需要一个m-by-n-by-1-by-k4D矩阵,其中第四维是电影的帧。由于您是从三维矩阵开始的,因此首先使用置换: Orig; % 3D matrix X = permute(Orig,[1 2 4 3]); %

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

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

有人能帮忙吗?

内置功能是您所需的一个选项。此函数需要一个
m-by-n-by-1-by-k
4D矩阵,其中第四维是电影的帧。由于您是从三维矩阵开始的,因此首先使用置换:

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);

哇,那么你就可以用immovie轻松地做到这一点了?我的矩阵基本上是一个4D矩阵,如果我将所有的3D矩阵组合在一起(如果你计算存储在x&y坐标中的与高度相对应的数据,技术上是3D的。哦,如果其他人想知道我是如何做到的,我遵循了这个网站:另外,你必须记住,你必须用zlim([min,max]),xlim设置你的轴(同一件事)ylim(同一件事)为了让视频正确播放。如果你不这样做,它会尝试改变大小。哦,然后你可能需要用campos([x,y,z])更换相机