Python绘制台风动图,Python真的无所不能啊!

前不久小渣介绍了如何用python读取再分析资料绘制天气图,上周台风‘利奇马’肆虐我国东部,有同学好奇能否使用python绘制出酷酷的台风动图呢?答案当然是可以哒!

一、工具准备

python生成gif的工具包有很多,这里推荐imageio,读取图片简单方便,短短几行就能搞定,并且图像数据完备时可由数据直接生成动图。下面仍旧以代码的形式分图像合成与数据生成两部分介如何制作gif动图。

二、数据说明

图像合成使用的是2019年8月初'利奇马'发展活动期间的逐日矢量风平面图;数据生成使用的是已处理的葵花8卫星遥感数据。两者均将单个时次数据处理为动图的帧,最后将全部帧整合成完整的动图。

私信小编01 获取此项目完整代码!

三、制作代码

import numpy as np import imageio #图像合成 frames = [] #定义空变量,保存各个帧数据 for i in range(4,14): im = imageio.imread('D:/%s.png'%(i)) #循环读取各个图像 frames.append(im) #将各个图像帧放入先前定义的变量中 imageio.mimsave('D:/wind.gif',np.array(frames), 'GIF', duration=0.8) #合成动图 duration为间隔时间 #数据生成 temp=[] for i in range(145,300): data_temp=np.load('E:/%s.npy'%(i)) #读取二进制数据文件,data_temp.shape应为(X,Y) temp.append(data_temp) a=np.array(temp) #a.shape应为(frames,x,y) b=np.uint8(a/10) #提前转换数据格式,不然有时会出错,非强制 imageio.mimsave('D:/test.gif',b, 'GIF', duration=0.1)

合成效果:

图像合成

数据生成

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191012A0A45V00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励