简述

网上看到动图,觉得蛮有意思的。特别是,有时候人工智能想要展现模型的动态进化的效果。就需要这样的工具了。(要是有别的目的也是ok的)

这种方法是可以将一些图片组合起来生成gif图。

  • 我之前写的这篇文章就实现了这个。
  • 基于MNIST的GANs实现【Pytorch】

文章目录

  • 简述
    • 核心代码
    • 实例

核心代码

  • 先把数据都放到一个目录下(最好是脚本自己创建一个,然后用完再删除掉

  • 创建目录的步骤(如果你想手动设置的话,跳过)但是库还是需要导入

import os
import shutil
import imageio
PNGFILE = './png/'
if not os.path.exists(PNGFILE):os.mkdir(PNGFILE)
else:shutil.rmtree(PNGFILE)os.mkdir(PNGFILE)
  • 如果要不删掉文件夹,就把注释掉shutil.rmtree的代码
generated_images = []
for png_path in filePath:generated_images.append(imageio.imread(png_path))
shutil.rmtree(PNGFILE)  # 可删掉
imageio.mimsave('gan-mnist.gif', generated_images, 'GIF', duration=0.1)
  • duration = 0.1 这个是设置每幅图停留的时间的

实例

  • path 输入的是文件夹地址(文件夹内有图片)
  • img_type:图片类似(png,jpg)但是都要小写
  • sort = ‘n’ 表示,根据图片的文件名中的数字大小排序
  • 当然也可以用自己定义的排序函数(rexp)
import imageio
import os
import glob
import redef images2gif(input_path, output_name, img_type='png', duration=0.2, sort='n', rexp=None):input_files = os.path.join(input_path, "*.%s" % img_type)# print(input_files)# sort or notfile_list = glob.glob(input_files)if rexp:file_list = sorted(file_list, key=rexp)elif sort in ['number', 'num', 'n']:file_list = sorted(file_list, key=lambda x: int(re.search("[0-9]+", x).group()))generated_images = []for name in file_list:# print(name)generated_images.append(imageio.imread(name))imageio.mimsave(output_name, generated_images, 'GIF', duration=duration)if __name__ == '__main__':path = '.'f = lambda x: int(re.search("[0-9]+", x).group())images2gif(input_path=path, output_name='test.gif', rexp=f)

python生成gif【简明教程】相关推荐

  1. python多态_Python 简明教程 21,Python 继承与多态

    程序不是年轻的专利,但是,它属于年轻. 目录 目录 我们已经知道封装,继承和多态 是面向对象的三大特征,面向对象语言都会提供这些机制. 1,封装 在这一节介绍类的私有属性和方法的时候,我们已经讲到过封 ...

  2. spyderpython使用教程_使用spyder3调试python程序的简明教程

    说是简明教程,其实是我自己尝试用spyder调试python程序的过程的一个记录,因为spyder的调试功能是基于pdb,而我又没有pdb的基础,所以刚开始上手时感觉很不习惯,而且那时我又很懒,没去找 ...

  3. pythondebug教程_使用spyder3调试python程序的简明教程

    说是简明教程,其实是我自己尝试用spyder调试python程序的过程的一个记录,因为spyder的调试功能是基于pdb,而我又没有pdb的基础,所以刚开始上手时感觉很不习惯,而且那时我又很懒,没去找 ...

  4. spyder(python3.7)使用教程_使用spyder3调试python程序的简明教程

    说是简明教程,其实是我自己尝试用spyder调试python程序的过程的一个记录,因为spyder的调试功能是基于pdb,而我又没有pdb的基础,所以刚开始上手时感觉很不习惯,而且那时我又很懒,没去找 ...

  5. python生成json_Python JSON 教程

    Python JSON 教程 本文我们通过示例学习python中解析.读取和写入json.同时也涉及到转换json至字典和格式化打印. 1. json 介绍 JSON (JavaScript Obje ...

  6. python生成词云图_用python生成词云图教程

    闲话不多说,直接上干货! STEP1 安装jieba包 点击桌面菜单栏的开始按钮,输入cmd回车,进入命令窗口. 在命令行输入 pip install jieba回车,安装jieba包. 安装word ...

  7. Python生成密码字典教程

    首先声明:本教程只用于技术交流,请勿用于非法用途.请严格遵循相关法律法规. 晚上莫名想要折腾一下aircraft,虽然本学校用的网络是校园网,破解了wifi也不能直接用,还得破解别人的账号密码,但是这 ...

  8. 【Python】Numpy简明教程

    1. 引言 本文主要介绍Python中专门用于数据处理的库–Numpy,使用它可以快速地构建复杂的矩阵操作. 闲话少说,我们直接开始吧! 2. 什么是Numpy? Numpy是Numerical Py ...

  9. 简明python教程在线-Python简明教程

    Python简明教程在线阅读地址: https://bop.molun.net/ DocStrings 该文档字符串所约定的是一串多行字符串,其中第一行以某一大写字母开始,以句号结束.第二行为空行,后 ...

  10. 独家 | 手把手教你怎样用Python生成漂亮且精辟的图像(附教程代码)

    作者:Fabian Bosler 翻译:车前子 校对:吴振东 本文约4800字,建议阅读15分钟. 本文将介绍如何利用Python生成图像并将结果做出可视化分析. 在上周的文章<用python从 ...

最新文章

  1. mysql防止从节点可写数据_mysql 主从数据不一致 Slave_SQL_Running: No 解决方法
  2. 移动IM开发那些事:技术选型和常见问题
  3. .NET Core开发实战(第28课:工作单元模式(UnitOfWork):管理好你的事务)--学习笔记...
  4. 钉钉上手体会:阿里实用主义的野望
  5. 113_Power Pivot 销售订单之重复购买率及购买间隔天数相关
  6. 不要再使用JS框架了
  7. PHP怎么接收字符串,求大神救命!!php接收到是空的字符串
  8. 第七届蓝桥杯大赛个人赛省赛(软件类)真题4
  9. 日志收集系统Elasticsearch,Fluentd , Kibana
  10. 基于php的高校田径运动会管理系统
  11. python井字格游戏_python实现简单井字棋游戏
  12. linux 中压缩文件夹命令行,Linux下压缩文件夹命令使用
  13. 常见网页特效案例:网页轮播图
  14. 在哪里可以批量查询京东快递的单号?
  15. ALTAS,LAPACK, SCALAPACK, MUMPS记录
  16. 微信小程序-bug-页面不存在
  17. 2019秋招c++个人面经集合(包含cvte,bigo,老虎,网易,拼夕夕等)
  18. 关于SimpleDateFormat格式化无法精确到微妙、纳秒的处理
  19. 车联网用到了哪些关键技术,未来的趋势是什么
  20. nginx配置之温故而知新

热门文章

  1. WinCE下多份BSP的维护技巧
  2. 一点一滴培养你的领袖气质
  3. ECMASCript 2019可能会有哪些特性?
  4. 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)...
  5. 融入产业生态的靶向孵化
  6. PHP课程20161114
  7. 设计模式(结构型模式)——桥接模式(Bridge)
  8. IIS怎么设置本地域名解析(本地域名测试配置)
  9. 利用 Android Studio 和 Gradle 打包多版本APK
  10. 使用Xcode和Instruments调试解决iOS内存泄露【转】