教你怎么用Python实现GIF动图的提取及合成
作者:Python研究者 发布时间:2023-11-29 14:16:15
标签:Python,GIF
Python实现GIF动图的提取及合成
在开始之前,先来一个动图开头(预览)
图片转GIF动图
1、准备工作
在开始合并前,先明确要转换哪些图片,以及安装对应的Python库
这里在网上找了9张图片,并存放在img文件夹下,这9张图片一会待转换为GIF动图。
pip install imageio
通过上面的命令安装imageio库,该库功能是将多张图转为GIF。
导入相应的库
import imageio
import os
import os.path as osp
2.转换
读取img文件夹下的所有图片,并通过imageio读取图片内容。
转换并保存为chenge.gif
其中的duration = 1 / fps ,也就是说duration越大,动图变化越慢,当前duration是0.1,其结果如下:
当前duration是0.5,其结果如下:
GIF提取图片
1.准备工作
导入PIL库
from PIL import Image
待提取的gif(这里使用上面保存的chenge.gif)
2.提取
这里将chenge.gif提取图片,保存到gif-to-pic文件夹中,并从0.jpg开始命名
可以看到gif动图里面的图片已成功提取。
小结
本文讲解了如何将多张图片转为GIF,同时也讲解了通过一个GIF动图提取出里面的图片。为了方便大家练习,辰哥已将代码模块化。
来源:https://blog.csdn.net/lyc2016012170/article/details/117858216
0
投稿
猜你喜欢
- 最近在使用echarts做报表需求,二次生成报表时数据合并,无法正确显示。第一次渲染:第二次渲染:可以看到这里的echarts项的serie
- 本文通过Python3+PyQt5实现《python Qt Gui 快速编程》这本书的page Designer应用程序,采用QGraphi
- 同由其他技术驱动的应用一样,在相同的Web服务器上运行Django应用也是可行的。 最简单直接的办法就是利用Apaches配置文件httpd
- Cookie 模块,顾名思义,就是用来操作Cookie的模块。Cookie这块小蛋糕,玩过Web的人都知道,它是Server与Client保
- 简介在这篇文章中我将介绍如何写一个简短(200行)的 Python 脚本,来自动地将一幅图片的脸替换为另一幅图片的脸。这个过程分四步:检测脸
- CTE(Common Table Expressions)是从SQL Server 2005以后版本才有的。指定的临时命名结果集,这些结果集
- Python 非常易学,强大的编程语言。Python 包括高效高级的数据结构,提供简单且高效的面向对象编程。Python 的学习过程少不了
- 对于php开发小白来说搭建一个php运行环境就是一道坎!因为要做php开发,搭建一个能够运行php网站的服务器环境是第一步,传统的php环境
- 本文为大家分享了python2.7+selenium2实现淘宝滑块自动认证的具体代码,供大家参考,具体内容如下1.编译环境 操作系统:win
- 元数据简介元数据 (metadata) 最常见的定义为“有关数据的结构数据”,或者再简单一点就是“关于数据的信息”,日常生活中的图例、图书馆
- 鼠标双击滚动屏幕,单击停止滚动,很多小说新闻网站都有这个很人性化的功能,阅读起小说、新闻来很方便,不用手动拉滚动条。js代码如下:<h
- 技术背景对于各行各业的研究人员来说,经常会面临这样的一个问题:有一篇不错的文章里面有很好的数据,但是这个数据在文章中仅以图片的形式出现。而假
- 1.find函数find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含
- 一、MySQL Server层日志简介一个mysql client发起一个连接请求,处理请求的过程如下图所示:MySQL日志是在MySQL
- 序言:php错误就是会使脚本运行不正常的情况。php的错误有很多种,包括warning、notice、deprecated、fetal er
- 闲的无聊。。。网上一堆,正好练手(主要是新手)# coding=utf-8 import requests from bs4 import
- 每次使用python获取查询结果的时候,都会纠结一段时间到底用fetchone和fetchall,用不好容易报错,关键在于没有搞清楚它们之间
- 很多年前,我们就可以轻易的从很多国营商场、火车车厢、饭馆旅馆中看到墙上挂的那个小本本-意见薄,作为经营方与顾客沟通的
- 自己试过很好用function zero_fill_hex(num, digits) { var s = num.toString(16);
- 方式1:静态获取,通过直接解析checkpoint文件获取变量名及变量值通过reader = tf.train.NewCheckpointR