python opencv实现gif图片分解的示例代码

yipeiwu_com7年前Python基础

案例:将和当前脚本同目录下的gif图片分解成png图片,并将分解后的图片保存到pics目录下,将其从0开始命名。

GIF 动图的分解可以利用 PIL模块的Image类来实现。

from PIL import Image
import os
 
 
"""
  将一张GIF动图分解到指定文件夹
  src_path:要分解的gif的路径
  dest_path:保存后的gif路径
"""
def gifSplit(src_path, dest_path, suffix="png"):
  img = Image.open(src_path)
  for i in range(img.n_frames):
    img.seek(i)
    new = Image.new("RGBA", img.size)
    new.paste(img)
    new.save(os.path.join(dest_path, "%d.%s" %(i, suffix)))
 
 
 
gifSplit('tiga.gif', r'./pics')

分解并保存后:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

通过celery异步处理一个查询任务的完整代码

今天介绍通过celery实现一个异步任务。有这样一个需求,前端发起一个查询的请求,但是发起查询后,查询可能不会立即返回结果。这时候,发起查询后,后端可以把这次查询当作一个task,并立即...

Python3 串口接收与发送16进制数据包的实例

如下所示: import serial import string import binascii s=serial.Serial('com4',9600) s.open() #接收...

解决Python 遍历字典时删除元素报异常的问题

错误的代码① d = {'a':1, 'b':0, 'c':1, 'd':0} for key, val in d.items(): del(d[k]) 错误的代码② --...

python中datetime模块中strftime/strptime函数的使用

python中datetime模块中strftime/strptime函数的使用

Python 的datetime模块 其实就是date和time 模块的结合,常见的属性方法都比较常用 比如: datetime.day,datetime.month,datet...

基于asyncio 异步协程框架实现收集B站直播弹幕

前言 虽然标题是全站,但目前只做了等级 top 100 直播间的全天弹幕收集。 弹幕收集系统基于之前的B 站直播弹幕姬 Python 版修改而来。具体协议分析可以看上一篇文章。 直...