图像序列帧恢复为GIF动图

简介: 使用Python的imageio库将图像序列帧恢复为GIF动图,支持自定义持续时间和尺寸调整。

需要用到的库有 imageio, os ,pillow库

from PIL import Image
import os
import imageio
def createGif(imagelist, gifName):
    frames = []
    for imageName in imagelist:
        print(imageName)
        if imageName.endswith('.png'):
            print(imageName)
            frames.append(imageio.imread(imageName)) # imread() 读取指定路径的图像,append 叠加矩阵
    imageio.mimsave(gifName, frames, 'GIF', duration=0.8)  # duration 帧时长
    return
#裁剪函数--统一大小
def clipPic():
    oldPics=""
    files = os.listdir("d:\\btmcXg")  # 打开文件路径下的所有资源,并返回一个列表对象(文件夹下的文件名称)
    for img in files:
        oldPic = Image.open("d:\\btmcXg\\{}".format(img))
        newPic = oldPic.resize((440,440))
        newPic.save("d:\\btmcXgNew\\{}".format(img))

def main():
    clipPic()
    path = 'd:\\btmcXgNew'  # 存放PNG图片文件夹位置
    gifName = 'd:\\btmcXgNew\\create.gif'  # 生成gif的名称
    files = os.listdir(path) # 打开文件路径下的所有资源,并返回一个列表对象(文件夹下的文件名称)
    imagelist = []
    # 遍历并且拼接每个文件路径-->列表对象
    for img in files:
        cd=os.path.join(path,img)
        imagelist.append(cd)
    print(imagelist)
    createGif(imagelist, gifName)

if __name__ == "__main__":
    main()

imageio库
mimsave()方法主要有4个参数,
第1个参数 url是要保存的GIF文件全路径名称,包括后缀名.gif;
第2个参数 ims是图片列表;
第3个参数 是保存类型,设置为字符串’GIF’;
第4个参数 duration为每张图片播放持续时间,单位为秒。

还有很多参数可以参考https://imageio.readthedocs.io/en/stable/index.html

imread()方法,读取指定路径的图像

os库

os,listdir() 列出某目录下所有的目录和文件。
os.path.join(path,*paths) 组合path和paths,返回一个字符串

这是我随便挑了几张图测试的效果

这是动图文件--中间有个图像被拉扁了(这块儿是我有的一些图原本就是透明的png,所以会黑)

相关文章
|
18天前
|
人工智能 JavaScript Linux
AI龙虾OpenClaw赚钱实战:普通人用AI工具变现方法+阿里云/本地部署+大模型API配置及避坑指南
2026年的AI风口下,真正能让普通人赚到钱的并非动辄融资千万的创业项目,而是像OpenClaw(昵称“龙虾”)这样的开源AI工具。当无数人还在追着AI热点喊口号时,已有一批普通人靠着OpenClaw,在自己熟悉的领域里把技能变成了现金流,把重复劳动换成了高效收益,甚至靠帮别人搭建工具工作流实现了月入上万美金。这些赚钱的人并非技术大神,他们只是找对了工具的使用方式,而OpenClaw的核心价值,从来都不是炫技,而是解决实际问题。
1149 0
|
PyTorch 算法框架/工具 索引
Transformers 4.37 中文文档(八十四)(3)
Transformers 4.37 中文文档(八十四)
420 3
|
算法 计算机视觉 索引
OpenCV(四十六):特征点匹配
OpenCV(四十六):特征点匹配
872 0
|
XML 算法 计算机视觉
使用OpenCV进行人脸检测和戴墨镜特效实战(附Python源码)
使用OpenCV进行人脸检测和戴墨镜特效实战(附Python源码)
1033 1
|
Web App开发 机器学习/深度学习 人工智能
使用魔搭开发自己的语音AI:从入门到精通
语音AI是最早从实验室走向应用的AI技术,其发展史就是不断创新、解锁应用的历史,从1995年 Dragon Dictate的桌面孤立词语音识别,到2011年苹果的手机语音助手SIRI,再到当下百花齐放的各种智能语音应用。
1478 41
使用魔搭开发自己的语音AI:从入门到精通
|
算法 程序员 C语言
【深度揭秘】汇编语言:现代编程中不可或缺的秘密武器!它如何在幕后操控一切?
【8月更文挑战第31天】随着计算机科学的进步,尽管高级编程语言因易读和可维护而流行,汇编语言在特定领域仍不可或缺。本文介绍汇编语言基础及其在现代编程中的应用。汇编语言通过助记符表示机器码,便于编写和理解。例如,在x86架构下,加法指令可表示为 `add eax, ebx`。尽管高级语言提供更高抽象,但在优化性能瓶颈(如矩阵乘法)和嵌入式系统中精确控制硬件方面,汇编语言依然发挥重要作用。例如,通过AVX-2指令集优化矩阵乘法,或在实时系统中实现精确时间延迟。这些示例展示了汇编语言在现代编程中的独特价值。
387 3
|
数据可视化 uml
UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)
UML图讲解,关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系。
6625 0
UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)
|
存储 计算机视觉 C++
Opencv(C++)学习系列---特征点检测和匹配
Opencv(C++)学习系列---特征点检测和匹配
827 0
|
人工智能 搜索推荐
‘通义万相’使用体验——令人惊艳的AI绘画创作大模型
7月7日,阿里云在2023世界人工智能大会上宣布,AI绘画创作大模型通义万相开启定向邀测。通义万相是阿里云“通义”大模型系列第三个产品,此前的通义千问、通义听悟分别具备文字问答和语音文字处理的功能。目前该模型已经开启定向邀测.

热门文章

最新文章