学姐生日快到了~这不得用Python把她的照片做成视频当礼物送给她.... |
您所在的位置:网站首页 › idea读取不到图片 › 学姐生日快到了~这不得用Python把她的照片做成视频当礼物送给她.... |
前言
这不是学姐生日快到了,于是我学了一手Python~ 来把学姐的照片生成为视频,到时候给她一个惊喜! 好了先不说了,下面分享一下用python代码 实现多张图片合成MP4视频为实例,做下详细代码讲解。 一、需要调入的模块1. imageio模块 Python模块imageio是一个用于读取和写入图像及视频数据的库。 它支持多种格式,并且可以使用NumPy数组进行操作。 2、Image 模块 PIL 是 Python 中常用的图像处理库,Image 模块是其中的一个重要模块, 它提供了各种图像操作和处理的函数。 二、实现合并多张图片转成 mp4 视频使用 Python 中的画图库 PIL(Python Imaging Library)或者 OpenCV 读取每一张图片。 使用第三方库 imageio 将多张图片合并成一个视频文件。 配置生成视频文件的视频帧数、视频尺寸和视频播放速度等参数。 以下是一个简单的示例代码: 导入模块 import os import imageio from PIL import Image设置生成的视频文件名和路径 filename = 'output.mp4' filepath = os.path.join(os.getcwd(), filename)读取所有 PNG 图片 images = [] for file_name in sorted(os.listdir()): if file_name.endswith('.png'): images.append(Image.open(file_name))将图片转换为视频 fps = 30 # 每秒钟30帧 with imageio.get_writer(filepath, fps=fps) as video: for image in images: frame = image.convert('RGB') video.append_data(frame)实现原理: 读取所有需要合并的图片文件,将它们存储到一个列表中。 然后使用 imageio 库的 get_writer() 函数创建一个视频写入器对象,并设置视频的播放速度(fps)。 之后在循环过程中,读取列表中的每一张图片,在将其转换为带有 RGB 颜色模式的格式后添加到视频帧中。 最终输出一个合并了所有目标图片的视频文件。 三、优化改进一下将程序并行化进行处理,加快处理多张图片的速度。 注:以下方法可能并非最优方法 import os import concurrent.futures import imageio from PIL import Image设置生成的视频文件名和路径 filename = "output.mp4" filepath = os.path.join(os.getcwd(), filename) def process_image(file_name): if file_name.endswith(".png"): image = Image.open(file_name) return image.convert("RGB") with concurrent.futures.ThreadPoolExecutor() as executor:寻找所有 png 文件 image_files = [file for file in os.listdir() if file.endswith(".png")]利用线程池并行处理图像 images = list(executor.map(process_image, image_files))将图片转换为视频文件 fps = 30 # 每秒钟30帧 with imageio.get_writer(filepath, fps=fps) as video: for image in images: video.append_data(image)这里使用 concurrent.futures 库中的 ThreadPoolExecutor 对象进行并行处理。 首先在主线程中寻找读取当前工作目录下的所有需要合并的 PNG 图片,创建任务列表。 然后将任务提交给线程池中并保证能够快速、异步地处理目标文件。 在处理完所有 PNG 图片之后,将其存储到一个 images 中的列表中并最后转换成视频。 尾语感谢你观看我的文章呐~本次航班到这里就结束啦 🛬 希望本篇文章有对你带来帮助 🎉,有学习到一点知识~ 躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |