数学建模社区-数学中国
标题:
matlab动画
[打印本页]
作者:
描绘记忆
时间:
2011-4-27 07:28
标题:
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 电影动画。
2:请教如何保存matlab的动画?
function avimake
warning off;
load data
[M,N,K]=size(data);
data=data/(max(abs(data(
)));
aviobj = avifile('mymovie.avi','fps',10);
for kk=1:10:K
imagesc(data(:,:,kk));
set(gca,'clim',[-1 1]);
colormap(hsv(128))
frame = getframe(gca);
aviobj = addframe(aviobj,frame);
end
aviobj = close(aviobj);
3:直接保存gif动画
m(:,k)=getframe;
%%%构造gif图像的帧,
nn(:,:,
=getframe;
%%转换为可以直接输出的格式(这会是图像丢失)
%如果要制作彩色的图像,你只能把生成的彩色图像单独制作(使用其他软件)
nn1=nn.cdata;
nn1=rgb2gray(nn1);
imwrite(nn1,'out.gif','gif','WriteMode','append')
作者:
亚特兰蒂斯
时间:
2011-4-27 07:32
厉害,这个matlaB真是很强大,可扩展性能这么广泛
作者:
李贤
时间:
2011-5-26 17:56
厉害,这个matlaB真是很强大,可扩展性能这么广泛
作者:
黄家的大哥哥
时间:
2011-5-26 18:22
so diffidult!
作者:
描绘记忆
时间:
2011-7-10 15:25
还好吧,是你没有做那个,其实很简单的。
作者:
chenxs008
时间:
2011-8-13 11:01
程序中的
是什么意思啊
作者:
蜗牛天使
时间:
2011-8-27 16:55
进来学习一下
作者:
豪蛋
时间:
2011-9-20 23:52
厉害;谢谢楼主
作者:
286752439
时间:
2011-9-26 19:46
作者:
286752439
时间:
2011-9-26 19:46
作者:
jt202010
时间:
2011-10-19 23:32
作者:
傻蜗牛的幸福
时间:
2011-12-13 21:24
不错的资源,谢谢分享!
作者:
okdjl
时间:
2011-12-18 14:01
好!谢谢!
作者:
流年似水311
时间:
2012-4-16 13:56
学习学习,哈哈
作者:
guanyuhang
时间:
2012-4-18 10:29
这么拉风的技术···
作者:
斟酒自酌
时间:
2012-5-11 00:53
厉害 !!强大!!
作者:
唐-某
时间:
2012-7-3 19:13
不过还是不太懂啊,,菜鸟哎
作者:
小五的森林
时间:
2012-7-12 09:48
扩展应用好强大的啊
作者:
一路顺风-顺顺
时间:
2012-8-22 23:15
好棒。。。。就是 好复杂呀,对于我们这些菜菜来说 很难的说~~~~
作者:
qyx2010
时间:
2012-8-23 11:26
有点难度呀!
作者:
阿修罗。
时间:
2012-9-2 08:44
作者:
ealx0yJu
时间:
2012-10-19 01:18
神马都是浮云。。。。
作者:
mrclear
时间:
2012-11-18 12:47
matlab实在太强大了
作者:
两个人的梦想
时间:
2012-11-19 14:38
挺有趣的,值得收藏!
作者:
zhuangzhuanghit
时间:
2013-2-5 04:04
谢谢楼主分享啦~~~
作者:
mcm林
时间:
2013-8-24 22:41
好棒呀!!!!!!!!!!!!!!!!!!
作者:
薛云涛
时间:
2014-1-20 19:29
作者:
未知ed
时间:
2014-8-3 17:38
厉害啊~~~\(≧▽≦)/~
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5