为了在项目PPT制作时突出仿真效果,小编就学习了GIF和AVI文件的maltab生成技术,并在FRFT从阶次0到阶次1的变化过程为例来进行仿真验证,与各位需要的朋友一起分享。
MATLAB里要生成动态图像时关键技术
MATLAB里要生成动态图像关键有两个:一个是图像数据,要准备多幅同样大小的图像或者将图像数据变化的过程保存下来;其二是正确调用imwrite函数,最主要有两个属性,1是DelayTime,控制图像切换的间隔,2是LoopCount,用于设置图像默认的循环次数,默认是无穷次,即不断循环,若要手动设置此值,0代表循环一次,1代表循环两次,以此类推。
图像信息的不同表示
frame 包含RGB图像信息和颜色映射表
image 只是RGB图像
indexed image 索引图像是一种把像素值直接作为RGB调色板下标的图像。索引图像可把像素值直接映射为调色板数值。
调色板通常与索引图像存储在一起,装载图像时,调色板将和图像一同自动装载。
索引模式和灰度模式的比较
索引模式和灰度模式比较类似,它的每个象素点也可以有256种颜色容量,但它可以负载彩色。索引模式的图像最多只能有256种颜色。当图像转换成索引模式时,系统会自动根据图像上的颜色归纳出能代表大多数的256种颜色,就象一张颜色表,然后用这256种来代替整个图像上所有的颜色信息。
GIF和AVI文件生成所需的常用函数的功能介绍
(1)getframe
getframe函数可将当前图形窗口作为一个画面取下并保存,格式为:m=getframe。它将每一帧画面信息数据截取下来整理成列向量。该函数截取图形的点阵信息,图形窗口的大小,对数据向量的大小影响较大,窗口越大,所需存储容量越大。而图形的复杂性对数据容量要求没有直接的关系。
(2)moviein
函数m=moviein(n)用来建立一个足够大的 n 列的矩阵 m,用来保存 n 幅画面的数据,以备播放。
(3)movie
movie(m,k)以每秒 k 幅图形的速度播放由矩阵 m 的列向量所组成的画面。
(4) movie2avi
功能:保存动画-生成avi格式的电影文件
详解: movie2avi(mov,'filename.avi')
mov由getframe获得,生成文件名为filename.avi的视频文件
一般格式:
for i=1:n
figure(i)
F(i)=getframe;
end;
movie2avi(F,'filename.avi');
其他的函数可用help function来具体的查询。
动画实例:分数阶Fourier变换的三维动态图
测试信号: 矩形窗和chirp信号
仿真软件: matlab R2009a
仿真主程序:


仿真需要用的其他函数程序:
(1)函数MM

(2)函数frft



仿真结果:
仿真信号为:矩形窗

仿真信号为chirp信号 与上面的结果类似
仿真时注意事项:
(1)如果想要显示电影动画,可将有%%xx开头的每一行更正为程序语句,并将GIF文件生成的程序改为注释语句。
(2)动画图片的保存格式为gif,多次仿真生成的动画图片是累加的形式,需要用相应的gif制作软件进行处理。