应用场景
将文件夹下有时间戳或者有序的 *.jpg 图像合成为一个 mp4 格式的视频。
附加:加进度条看合成进度。文章来源:https://www.toymoban.com/news/detail-502858.html
代码
import os
import cv2
from tqdm import tqdm # python 进度条库
image_folder_dir = "/your/folder/path"
fps = 24 # fps: frame per seconde 每秒帧数,数值可根据需要进行调整
size = (640, 360) # (width, height) 数值可根据需要进行调整
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') # 编码为 mp4v 格式,注意此处字母为小写,大写会报错
video = cv2.VideoWriter("/path/you/want/to/save/your/video/your_video_name.mp4", fourcc, fps, size, isColor=True)
image_list = sorted([name for name in os.listdir(image_folder_dir) if name.endswith('.jpg')]) # 获取文件夹下所有格式为 jpg 图像的图像名,并按时间戳进行排序
for image_name in tqdm(image_list): # 遍历 image_list 中所有图像并添加进度条
image_full_path = os.path.join(image_folder_dir, image_name) # 获取图像的全路经
image = cv2.imread(image_full_path) # 读取图像
video.write(image) # 将图像写入视频
video.release()
cv2.destroyAllWindows()
补充说明
以上示例合成视频为 mp4 格式,如需合成其它视频格式,可修改 cv2.VideoWriter_fourcc() 参数。请自行查询相关参数。文章来源地址https://www.toymoban.com/news/detail-502858.html
到了这里,关于opencv 将多帧图像合成为视频 cv2.VideoWriter()的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!