array append 成 二维 python_Python绘制台风动图,Python真的无所不能啊!

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

一、工具准备

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

二、数据说明

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

bc5716c388c584c1dba5d31d4f547485.png

9ef8e5120da7414c6312577baf43dbf0.png

三、制作代码

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) 

合成效果:

图像合成

0a3e0493f81b0236b1121e55e5b6d665.gif

数据生成

178c5e268ea7f80567178ab051a98d69.gif
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值