matlab 如何输出gif,MATLAB生成GIF动画,PhotoShop制作GIF动画

  • Post author:
  • Post category:其他


MATLAB制作GIF,PHOTOSHOP制作GIF

gif动画易于制作,相对于视频更小,更易于传播。作为一个程序猿,在使用程序绘图过程中想生成gif动画,可以使用MATLAB生成。当然,MATLAB生成gif动画存在局限性,专业的PhotoShop可以满足你的需要,这篇博客将专门介绍gif动画的制作。

一、MATLAB生成GIF动画

二、PhotoShop制作GIF动画

1.打开PhotoShop

2.批量导入文件

3.打开时间轴,创建帧动画

4.从图层创建帧动画

5.帧反序

6.调节显示帧率、循环次数

7.生成动画

一、MATLAB生成GIF动画

代码比较简单,简单解释一下,如果详细了解matlab的gif生成控制,可以docimwrite就可以找到gif的文档了。

首先,第一帧,创建一个gif文件,Loopcount表示循环次数,DelayTime表示该帧的显示时间,单位是秒s;

然后,后续帧使用‘WriteMode’‘Append’的方式,添加在gif后面,并设置该帧的显示时间,然后gif动画就创建完成了;

还有一个参数,就是rgb2ind中设置的色彩级别,因为gif是压缩图像格式,这个地方设置的颜色级别就是调色板(颜色表)的大小,动画中所有的颜色都会用这张表中的颜色来近似。1

2

3

4

5

6

7

8

9

10

11forii=1:numel(img_files),

I=imread([img_pathimg_files{ii}]);

[Ig,map]=rgb2ind(I,256);%彩色级别

gif_file=[output_pathvideo’.gif’];

ifii==1%~exist(gif_file,’file’)

imwrite(Ig,map,gif_file,’gif’,’Loopcount’,inf,’DelayTime’,0.02);

else

imwrite(Ig,map,gif_file,’gif’,’WriteMode’,’append’,’DelayTime’,0.02);

end

end

Matlab生成小gif还可以,如果是大量,或者需要控制文件大小,压缩比,失真度之类的功能,那么Matlab必然不能满足你的要求,那么你就需要PhotoShop了。

8bf0d7d7e6214608e72c7e6bf84ddeb1.gif

二、PhotoShop制作GIF动画

我们使用的photoshopCC2017,如果你使用的是其它版本,那么整个流程只有一个区别,那就是,在PhotoShopCS6之前,该功能在窗口-动画里打开,而在该版本之后,该功能在窗口-时间轴中打开。我们来讲批量处理模式:

1.打开PhotoShop

36139cc29d66b7b75f4672775cbf8eac.png

2.批量导入文件

a6f7ff004d0b0145f26486280d643934.png

在这里,我们可以批量导入一个文件夹中的所有图片,我们事先按名称排好序,后面直接创建出按照该序列显示的动画。

9db6c39363a442769450c1affa9b316e.png

3.打开时间轴,创建帧动画

799f220446a96d38be6656028d647834.png

在时间轴窗口,选择创建帧动画

9d8814659f6d9fed8a77655ca6d89083.png

4.从图层创建帧动画

在时间轴窗口上方有一个三角,会点开下图所示的小菜单,点击从图层创建帧就可以批量将图层中的帧导入成动画帧了。

2149bd20383d9e96acb4a44d0c25706d.png

5.帧反序

Shift加鼠标选择所有帧,还是在刚那么位置选择反向帧,因为添加过来是倒序的。

6.调节显示帧率、循环次数

在时间轴窗口最显眼的位置,当然你还可以通过图层来修改每个镇的动画内容,在右侧可以选择该帧中哪些图层是可见的,哪些图层是不可见的。

7.生成动画

4cc7b00895d28cce9db5f8cc257fd58d.png

这是最后一步,这里介绍下几个选项:

透明度,gif是由透明度的四通道图像,如果不想要该通道,可以去掉

颜色,就是颜色表的个数,颜色表越大,颜色越鲜艳,质量越好

损耗,损耗可以用来调节文件的大小,允许的损耗越大,就越容忍图像的失真,生成的动画也就越小

品质,缩放过程中,使用的插值方法,不直接影响文件大小,一般默认即可

循环,这里是和之前的循环次数对应的,我们可以选择播放的次数

208d63aa33a775f87b85ccc1108d8852.png

最后,点击存储,就可以导出gif动画了