【问题标题】:How to make a video from a 3d matrix in matlab如何在 matlab 中从 3d 矩阵制作视频
【发布时间】:2013-05-14 01:51:01
【问题描述】:

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

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

谁能帮忙?

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    内置函数immovie(X,map) 是您想要的一种选择。此函数需要一个m-by-n-by-1-by-k 4D 矩阵,其中第 4 维是电影的帧。由于您从 3D 矩阵开始,请先使用 permute:

    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 就这么简单吗?如果我将所有 3D 矩阵组合在一起,我的矩阵基本上是一个 4D 矩阵(如果您计算存储在与高度相对应的 x&y 坐标中的数据,技术上是 3D。
    • 哦,如果其他人想知道我是怎么做到的,我关注了这个网站:mikesoltys.com/2012/02/26/… 另外,您必须记住,您必须使用 zlim( [min,max]), xlim(same thing) ylim(same) 以使视频正确显示。如果您不这样做,它会尝试更改尺寸。哦,然后您可能还需要使用 campos([x,y,z]) 更换相机
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 2015-02-04
    • 1970-01-01
    • 2016-03-08
    相关资源
    最近更新 更多