使用情景
做短视频编辑的时候,将图片合成为视频,是经常碰到的情况。本文将介绍使用python的OpenCV库,将图片合成为视频。这是一种方法,其实经过实践,这种方法的效率也相对高些。
主要知识点
主要使用
VideoWriter(filename, fourcc, fps, frameSize[, isColor])
这里面有几个参数:
filename 是要保存的文件的路径
fourcc 指定编码器
fps 要保存的视频的帧率
frameSize 要保存的文件的画面尺寸
isColor 指示是黑白画面还是彩色的画面
代码
本代码的功能,是将某个文件夹中的所有图片,合成为一个视频。
import cv2
def merge_image_to_video(folder_name):
fps = 25
firstflag = True
for f1 in os.listdir(folder_name):
filename = os.path.join(folder_name, f1)
frame = cv2.imread(filename)
if firstflag == True: # 读取第一张图时进行初始化,尺寸也近照些图
firstflag = False
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
img_size = (frame.shape[1], frame.shape[0])
video = cv2.VideoWriter("output.mp4", fourcc, fps, img_size)
for index in range(fps):
frame = cv2.imread(filename)
frame_suitable = cv2.resize(frame, (img_size[0], img_size[1]), interpolation=cv2.INTER_CUBIC)
video.write(frame_suitable)
video.release()
if __name__ == '__main__':
folder_name = r"F:\video\t004_target"
merge_image_to_video(folder_name)