前段时间应导师要求, 给他弄降水空间分布的GIF动图,用于PPT汇报展示。通常我们都希望自己的实验结果、研究成果能够通过一种直观、炫酷的图表进行展示 ...... GIF maybe the best !
- 下面作者利用python的一个imageio库实现GIF动图制作 . . . . .
imageio 安装
-
Imageio是一个Python的图像处理库,它提供了一个简单的接口来读取和编写各种图像数据,包括动画格式的图像、体积数据和科学数据,类似的图像处理库还有GDAL、PIL、skimage等。它是跨平台的,在Python3.5+上运行,并且易于安装。
-
想要有更详细的的了解,可以查看官网:https://imageio.readthedocs.io/en/latest/index.html
-
windows+py3.7安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple imageio
安装python库时记得切换为国内镜像,否则会贼慢!!!
image image本地文件夹下存放了2014-06月的日降水空间分布图像:部分截图如下
python代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Name : image2gif.py
# Author : zengsk in NanJing
# Created: 2018/11/12 15:55
"""
Details: 根据指定文件夹下的多帧图片制作 GIF 动图
"""
import glob
import imageio
def create_gif(url_list, save_name, duration=0.1):
"""
根据给出图片url列表 绘制GIF动图
:param url_list: 图片url 列表
:param save_name: 输出的gif文件名
:param duration: 每帧停留的时间间隔 单位: 秒
:return:
"""
datasets = []
for image_name in url_list:
datasets.append(imageio.imread(image_name))
# Save them as datasets into a gif
imageio.mimsave(save_name, datasets, 'GIF', duration=duration)
return
if __name__ == "__main__":
in_path = r'H:\新建文件夹'
url_list = glob.glob(in_path + "\*.gif") # 获取该目录下所有以 *.gif 后缀的文件
save_name = r'../created_gif.gif' # 保存文件名
create_gif(url_list, save_name, duration=0.2) # 调用自定义函数
print("Nice Job!! ....")
note: 每帧图片的停留时间,可以根据自己的喜好调节duration参数
GIF结果图
image作者能力有限,不足之处欢迎各位批评指点!
image欢迎各位同行异步关注作者公众号 -- ZENG 同学; 公众号留言作者将细心为各位解答!!!
0.5.jpg
网友评论