评论

收藏

[python] 太神奇了!GIF的合成与提取这么好玩

编程语言 编程语言 发布于:2021-06-24 10:10 | 阅读数:486 | 评论:0

  今天辰哥教大家一个Python有趣好玩**的小功能:将多张图片**转为GIF**,同时也可以将一个GIF**动图提取出里面的图片
  在开始之前,先来一个动图开头(预览)

DSC0000.gif
01、图片转GIF动图

  1、准备工作
  在开始合并前,先明确要转换哪些图片,以及安装对应的Python库

DSC0001.png
  这里在网上找了9张图片,并存放在img文件夹下,这9张图片一会待转换为GIF动图。
pip install imageio
  通过上面的命令安装imageio库,该库功能是将多张图转为GIF。
  导入相应的库
import imageio
import os
import os.path as osp
  2.转换
  读取img文件夹下的所有图片,并通过imageio读取图片内容。

DSC0002.png
  转换并保存为chenge.gif

DSC0003.png
  其中的duration = 1 / fps ,也就是说duration越大**,动图变化**越慢**,当前duration是**0.1,其结果如下:

DSC0004.gif
  
DSC0005.png

  当前duration是0.5,其结果如下:

DSC0006.gif
02、GIF提取图片

  1.准备工作
  导入PIL库
from PIL import Image
  待提取的gif(这里使用上面保存的chenge.gif)

DSC0007.gif
  2.提取

DSC0008.png
  这里将chenge.gif提取图片,保存到gif-to-pic**文件夹中,并从**0.jpg开始命名

DSC0009.gif
  
DSC00010.png

  可以看到gif动图里面的图片已成功提取。

03、小结

  本文讲解了如何将多张图片转为GIF,同时也讲解了通过一个GIF动图提取出里面的图片。为了方便大家练习,辰哥已将代码模块化

DSC00011.png
  为了大家方便学习,辰哥已经把本文的完整源码**和对应的**图片及动图**上传,需要通过公众:**gifpic
最后,不明白的地方可以在下方留言,一起交流。
关注下面的标签,发现更多相似文章