使用Python合成gif动图
程序员文章站
2022-03-24 19:38:27
...
下载地址:
链接:https://pan.baidu.com/s/1F_UcK-LUzorw182MzYh6pw
提取码:al3m
通常来说,图片比文字更有说服力,所以论文中图片有非常重要的地位。
然而以gif为代表的动图会比单个静态图片更能展示成果,尽管没法放在论文中,可以把多张图片钉在一起快速翻页 ,gif在ppt展示中和表情包制作 中仍大有可为。
为了能在通信原理大作业展示中拿高分,我打算将不同截止频率的滤波器滤波结果合成成一张gif,应该是一个简单的工作,然而上网一搜,这个简单的工作居然还要花钱!
作为一个码农,被其他码农赚到了钱就是对自身技术的侮辱。合成个gif还要花我几十块钱注册会员?
果断掏出Python:
#-*- coding: UTF-8 -*-
import imageio
import os
def create_gif(image_list, gif_name, myduration):
frames = []
for image_name in image_list:
frames.append(imageio.imread(image_name))
# Save them as frames into a gif
imageio.mimsave(gif_name, frames, 'GIF', duration = myduration)
return
def main():
# image_list = ['test_gif-0.png', 'test_gif-2.png', 'test_gif-4.png',
# 'test_gif-6.png', 'test_gif-8.png', 'test_gif-10.png']
gif_name = 'output.gif'
fileList = os.listdir("./")#读取当前文件夹所有文件
print(fileList)
image_list=list()
print("检测到文件夹下图片:")
n=len(fileList)
for i in range(n):
s=str(fileList[i])
if s[-4:]==".jpg":#检查后缀
image_list.append(s)
print(image_list) #此时的filename是文件夹中文件的名称
myduration=eval(input("请输入图片间隔(单位:秒)"))
create_gif(image_list, gif_name, myduration)
print("制作完成,请查看文件夹下out.gif")
if __name__ == "__main__":
main()
运行该程序需要安装imageio库,技术人一看就知道是pip install imageio
如果赶时间的话,文章最开头有下载链接,打包成.exe可以直接使用。
参考了这位大佬的博客:点这里
“自己动手,丰衣足食”