该代码图像转视频是基于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,代码如下。