用Matlab实现猫变虎简单动画

来源:互联网 发布:资料员用的软件 编辑:程序博客网 时间:2024/06/15 11:16

准备好两张猫虎图:

这里写图片描述 这里写图片描述

然后编写代码实现猫变老虎的渐变动画:

%读取图片到变量img_cat=imread('cat.bmp');img_tiger=imread('tiger.bmp');%创建空白视频文件,变量为视频文件指针frame_video=avifile('cat_to_tiger.avi');%设置视频质量 0~100frame_video.quality=100;%生成过程j=0;%可修改循环次数,改变帧数for i=1:125    % 核心    img_mid=uint8(double(img_cat) * (1-j) + double(img_tiger) * j);    %向视频添加新帧    frame_video=addframe(frame_video,img_mid);    j=j + 0.008;end;%关闭视频文件,该函数断开视频指针,这样才能生成视频文件frame_video=close(frame_video);mov=aviread('cat_to_tiger.avi');%截取视频第1帧imwrite(mov(1).cdata,'frame1.bmp');for i=1:5   %image=mov(i*25).cdata;   %图片命名,字符串连接   filename=['frame',num2str(i*25),'.bmp'];   %截取视频第 i*25 帧   imwrite(mov(i*25).cdata, filename);end

由于 gif 图过大, 所以只能截取几张不同帧的图片显示了:

frame1.bmp
这里写图片描述

frame25
这里写图片描述

frame50
这里写图片描述

frame75
这里写图片描述

frame100
这里写图片描述

frame125
这里写图片描述

总体效果差强人意。

原创粉丝点击