舔狗日记1
前言
这不是学姐生日快到了,于是我学了一手使用Python来把学姐的照片生成为视频,到时候给她一个惊喜!
好了先不舔了,下面分享一下用python代码实现多张图片合成MP4视频为实例,做下详细代码讲解。
一、需要调入的模块
1、imageio模块
Python模块imageio是一个用于读取和写入图像及视频数据的库。它支持多种格式,并且可以使用NumPy数组进行操作。
以下是一些关键的函数:
- imageio.imread():从文件中读取图像数据并返回一个NumPy数组。
- imageio.imwrite():将一个NumPy数组写入到文件。
- imageio.mimsave():将多个图像帧组成的列表保存为动画文件(例如GIF)。
- imageio.get_reader():获取一个对象,该对象用于逐帧读取给定文件中的动画图像。
- imageio.get_writer():获取一个对象,该对象用于逐帧写入动画图像到指定文件中。
使用这些函数,可以方便地读取、写入和处理各种图像及视频数据格式。
2、Image 模块
PIL 是 Python 中常用的图像处理库,Image 模块是其中的一个重要模块,它提供了各种图像操作和处理的函数。
以下是 Image 模块中一些主要函数及其作用:
- open(): 打开并返回指定文件路径的图像对象。
- fromarray(): 将 numpy 数组或 PIL 图像对象转换为 PIL 图像对象。
- new(): 创建一个新的指定大小、模式和颜色的空白图像对象。
- save(): 将图像保存为指定格式的文件。
- resize(): 修改图像的大小。
- crop(): 裁剪图像的指定区域。
- rotate(): 旋转图像指定角度。
- show(): 显示图像。
除此之外,还有很多其他常用的函数,例如调整亮度和对比度、应用滤镜等等。这些函数可以帮助我们实现各种复杂的图像处理任务,并且通常也会有一些参数可用于进一步调节函数的行为,具体使用时可以参考相关文档。
二、实现合并多张图片转成 mp4 视频
使用 Python 中的画图库 PIL(Python Imaging Library)或者 OpenCV 读取每一张图片。
使用第三方库 imageio 将多张图片合并成一个视频文件。
配置生成视频文件的视频帧数、视频尺寸和视频播放速度等参数。
以下是一个简单的示例代码:
import os
import imageio
from PIL import Image
# 设置生成的视频文件名和路径
filename