MATLAB制作GIF,PHOTOSHOP制作GIF
gif动画易于制作,相对于视频更小,更易于传播。作为一个程序猿,在使用程序绘图过程中想生成gif动画,可以使用MATLAB生成。当然,MATLAB生成gif动画存在局限性,专业的PhotoShop可以满足你的需要,这篇博客将专门介绍gif动画的制作。
代码比较简单,简单解释一下,如果详细了解matlab的gif生成控制,可以 doc imwrite 就可以找到gif的文档了。
首先,第一帧,创建一个gif文件,Loopcount表示循环次数,DelayTime表示该帧的显示时间,单位是秒s;
然后,后续帧使用‘WriteMode’ ‘Append’的方式,添加在gif后面,并设置该帧的显示时间,然后gif动画就创建完成了;
还有一个参数,就是rgb2ind中设置的色彩级别,因为gif是压缩图像格式,这个地方设置的颜色级别就是调色板(颜色表)的大小,动画中所有的颜色都会用这张表中的颜色来近似。
1 2 3 4 5 6 7 8 9 10 11 | for ii = 1:numel(img_files), I = imread([img_path img_files{ii}]); [Ig, map] = rgb2ind(I,256); % 彩色级别 gif_file = [output_path video '.gif']; if ii==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了。
我们使用的photoshop CC2017,如果你使用的是其它版本,那么整个流程只有一个区别,那就是,在PhotoShop CS6之前,该功能在窗口-动画里打开,而在该版本之后,该功能在窗口-时间轴中打开。我们来讲批量处理模式:
在这里,我们可以批量导入一个文件夹中的所有图片,我们事先按名称排好序,后面直接创建出按照该序列显示的动画。
在时间轴窗口,选择创建帧动画
在时间轴窗口上方有一个三角,会点开下图所示的小菜单,点击从图层创建帧就可以批量将图层中的帧导入成动画帧了。
Shift加鼠标选择所有帧,还是在刚那么位置选择反向帧,因为添加过来是倒序的。
在时间轴窗口最显眼的位置,当然你还可以通过图层来修改每个镇的动画内容,在右侧可以选择该帧中哪些图层是可见的,哪些图层是不可见的。
这是最后一步,这里介绍下几个选项:
透明度,gif是由透明度的四通道图像,如果不想要该通道,可以去掉
颜色,就是颜色表的个数,颜色表越大,颜色越鲜艳,质量越好
损耗,损耗可以用来调节文件的大小,允许的损耗越大,就越容忍图像的失真,生成的动画也就越小
品质,缩放过程中,使用的插值方法,不直接影响文件大小,一般默认即可
循环,这里是和之前的循环次数对应的,我们可以选择播放的次数
最后,点击存储,就可以导出gif动画了
关注本公众号
可查阅更多图像知识信息,合作共享!
声明:
此资料部分转载自网络,仅供学习参考。