您的位置:首页 > 编程语言 > MATLAB

Matlab动画制作(一)——电影动画

2012-11-20 20:48 405 查看
Matlab动画制作(一)——电影动画

电影动画的好处就是,运行一次可以多次播放,甚至可以直接生成avi文件,直接独立与Matlab环境播放。这是其它三种动画制作方法所不具备的。

MATLAB中,创建电影动画的过程分为以下四步:

step1:调用moviein函数对内存进行初始化(该步骤在Matlab5.3以上均可省略),创建一个足够大的矩阵,使之能够容纳基于当前坐标轴大小的一系列指定的图形(此处称为帧)。

step2:调用getframe函数生成每个帧。该函数返回一个列矢量,利用这个矢量,就可以创建一个电影动画矩阵。

getframe函数可以捕捉动画帧,并保存到矩阵中。一般将该函数放到for循环中得到一系列的动画帧。

该函数格式有:

(1)F=gefframe,从当前图形框中得到动画帧

(2)F=gefframe(h),从图形句柄h中得到动画帧

(3)F=getframe(h,rect),从图形句柄h的指定区域rec中得到动画帧

step3:调用movie函数按照指定的速度和次数运行该电影动画。

当创建了一系列的动画帧后,可以利用movie函数播放这些动画帧。

该函数的主要格式有:

(1)movie(M),将矩阵M中的动画帧播放一次

(2)movie(M,n),将矩阵M中的动画帧播放n次

(3)movie(M,n,fps),将矩阵M中的动画帧以每秒fps帧的速度播放n次

step4:调用movie2avi函数可以将矩阵中的一系列动画帧转换成视频文件avi文件。这样,即使脱离了matlab环境都可以播放动画。

具体参见:

该方法的经典格式是:

%录制电影动画

for j=1:n

%

%这里输入我们的绘图命令

%

M(j) = getframe;

end

movie(M)

%单帧显示方法

f = getframe(gcf);

colormap(f.colormap);

image(f.cdata);

此外,利用immovie函数,我们可以从多帧图像阵列中创建MATALB 电影动画。

需要注意的是:该函数只能应用于索引图象,所以,如果用户希望其他类型的图像阵列转换为电影动画,则首先将该图像类型转换为索引类型。

详情请见:http://www.matlabsky.com/thread-593-1-1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: