Moviepy模块之多图拼接为一个动图

前言

大家好,我是空空star,本篇给大家分享一下Moviepy模块之多图拼接为一个动图。
本篇使用的moviepy版本如下:
Name: moviepy
Version: 1.0.3

Moviepy模块介绍

Moviepy是一个基于Python的视频编辑模块,用于视频剪辑、合成、处理等任务。它提供了一系列简单易用的API,通过它们可以轻松完成视频剪辑、裁剪、添加音乐、特效等操作。同时,Moviepy使用FFmpeg作为后端处理引擎,可以处理多种视频格式。

Moviepy支持的功能

视频的剪辑、合并和分割
视频的特效处理,比如调整亮度、对比度、色彩和饱和度等
添加文字、字幕、动画和图片等元素
与音频的合并、剪辑和处理
输出视频文件

Moviepy的主要优点

简单易用,提供了丰富的API和示例代码
支持多种特效处理,比如调整亮度、对比度、色彩和饱和度等
支持多种视频格式,可扩展性强
具有良好的性能和稳定性

项目场景

使用moviepy将多个图片做成一个动图。


项目素材

1.jpg

2.jpg

3.jpg


项目代码

1. 引入库

from moviepy.editor import ImageSequenceClip
import os

2. 读取存储图片的文件夹

image_folder = ‘/Users/kkstar/Downloads/video/pic/’

3. 获取文件夹中所有的.jpg结尾的图片文件名

images = [img for img in os.listdir(image_folder) if img.endswith(‘.jpg’)]

4. 按照文件名排序

images.sort(key=lambda x: int(x.split(‘.’)[0]))

5. 读取所有图片并拼接成动图

clip = ImageSequenceClip([os.path.join(image_folder, img) for img in images], fps=1)

6. 保存动图

clip.write_gif(image_folder+“output.gif”)


问题描述

运行报错:
Exception: Moviepy: ImageSequenceClip requires all images to be the same size


原因分析

ImageSequenceClip要求所有的图像都具有相同的尺寸,但是在导入图像时可能出现尺寸不一致的情况,导致无法创建ImageSequenceClip。


解决方案

将所有的图像都调整到相同的尺寸后再导入。


最终效果


  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 41
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空空star

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值