Python 图像转视频

该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。

import cv2
import os
from tqdm import tqdm

def synvideo(dir,viname,fps):
    im_dir = dir # 图片存储路径
    video_dir = viname #合成后的视频名称, 只能合成avi格式视频
    imglist = sorted(os.listdir(im_dir)) #将排序后的路径返回到imglist列表中
    img = cv2.imread(os.path.join(im_dir,imglist[0])) #合并目录与文件名生成图片文件的路径,随便选一张图片路径来获取图像大小
    H, W, D = img.shape #获取视频高\宽\深度
    print('height:' + str(H)+'--'+'width:'+str(W)+'--'+'depth:'+str(D))
    #fps = fps #帧率一般选择20-30
    img_size = (W,H) #图片尺寸宽x高,必须是原图片的size,否则合成失败
    fourcc = cv2.VideoWriter_fourcc('M','J','P','G')
    videoWriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)
    for image in tqdm(imglist):
         img_name = os.path.join(im_dir, image)
         frame = cv2.imread(img_name)
         videoWriter.write(frame)
         #print('合成==>'+img_name)
    videoWriter.release()
    print('finish!')
    
 if __name__ == "__main__":
    syn.synvideo('含有图像的文件夹名','保存路径及视频名.avi',视频帧数)
    #举个例子
    #syn.synvideo('/data1/supersmpl/dataset/Adobe/D_bouncing/images','./compound.avi',30)

说明:视频帧率一般在20-30,合成视频的后缀一定要是".avi",文件夹中图像命名一定要符合排序规则,不然渲染视频可能会跳帧。例如不能是“1,2,…,10”,只能是“01,02,…,10”

该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。
该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。
该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。
该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。
该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。
该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。
该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。
该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。
该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。
该代码图像转视频是基于cv2.VideoWriter,环境是python3,需安装opencv-python以及tqdm,代码如下。

猜你喜欢

转载自blog.csdn.net/weixin_42145554/article/details/127247153