找回密码
 会员注册
查看: 33|回复: 0

在Python上,把多帧图像合成一个视频

[复制链接]

4

主题

0

回帖

13

积分

新手上路

积分
13
发表于 2024-9-11 11:11:38 | 显示全部楼层 |阅读模式
前提:将图片文件按顺序命名,并放置在一个文件夹中。importcv2importos#图像文件夹路径folder_path='path/to/your/folder'#换成自己图像的绝对路径#获取.jpg格式的图像文件列表image_files=sorted([fforfinos.listdir(folder_path)iff.endswith('.jpg')])#获取第一张图像的尺寸image_path=os.path.join(folder_path,image_files[0])first_image=cv2.imread(image_path)height,width,channels=first_image.shape#设置视频输出路径和相关参数output_path='output/video.mp4'fps=30.0#帧率fourcc=cv2.VideoWriter_fourcc(*'mp4v')#编码器#创建视频写入器对象video_writer=cv2.VideoWriter(output_path,fourcc,fps,(width,height))#把图像逐帧写入视频forimage_fileinimage_files:image_path=os.path.join(folder_path,image_file)image=cv2.imread(image_path)video_writer.write(image)#释放资源video_writer.release()在上面的代码中,首先将图像文件夹路径存储在folder_path变量中,确保将其替换为你实际的图像文件夹路径。然后,使用os.listdir()函数获取图像文件列表,并根据需要修改文件扩展名。使用sorted()函数对文件列表进行排序,以确保图像按照正确的顺序合成为视频。接下来,从第一个图像文件获取图像的尺寸,以便设置视频的宽度和高度。然后,设置视频的输出路径、帧率和编码器。在示例代码中,输出视频的文件名为video.mp4,帧率为30帧/秒,使用MP4编码器(mp4v)。你可以根据需要修改这些参数。再创建视频写入器对象,并使用cv2.VideoWriter()函数传入输出路径、编码器、帧率和图像尺寸来创建。紧接着,使用循环逐帧读取图像文件,并使用video_writer.write()函数将图像写入视频。最后,通过调用video_writer.release()方法,释放视频写入器的资源。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-31 06:10 , Processed in 0.508829 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表