Opencv学习之:使用 opencv 将图片按照指定的帧率合成视频

代码

  • 这个 Image 里面存放了 173张图片,我们用这些图片合成一个 avi 的视频
  • 使用 fourcc 来进行编码
import os
import cv2
import time

img_path = './Images'
# 随便从其中拿到一张图片来代表视频中图片的尺寸
img = cv2.imread('./Images/10.jpg')
imgInfo = img.shape
size = (imgInfo[1], imgInfo[0])
# 获得文件夹中图片的数量,从而进行循环生成视频文件
img_nums = len(os.listdir(img_path))
fourcc = cv2.VideoWriter_fourcc('M','J','P','G') 
# 写入对象 1 file name 2 编码器 3 帧率 4 尺寸大小
videoWrite = cv2.VideoWriter( 
os.path.join(img_path,'../', 'videos.avi'), fourcc, 30, size)

# 读取这个文件夹中的每一张图片(按照顺序)然后组合成视频,帧率是每秒 30 帧
for i in range(len(os.listdir(img_path))):
    filename = str(i+1) + ".jpg"
    filename = os.path.join(img_path, filename)
    # print(filename)
    img = cv2.imread(filename)
    videoWrite.write(img) 

你可能感兴趣的:(Opencv学习,日常学习,视频合成,opencv)