OpenCV Python 从图片生成视频
在上一章中,我们使用VideoWriter()函数将摄像机的实时流保存为视频文件。要将多个图片合成为视频,我们将使用相同的函数。
首先,确保所有所需的图片都在一个文件夹中。Python内置的glob模块的glob()函数构建一个图片数组,以便我们可以遍历它。
从文件夹中的图片读取图像对象,并将其追加到图像数组中。
下面的程序说明了如何将多个图片合成为视频。
import cv2
import numpy as np
import glob
img_array = []
for filename in glob.glob('*.png'):
img = cv2.imread(filename)
height, width, layers = img.shape
size = (width,height)
img_array.append(img)
通过使用VideoWriter()函数将图像数组的内容写入其中来创建视频流。以下是相应的程序。
out = cv2.VideoWriter('video.avi',cv2.VideoWriter_fourcc(*'DIVX'), 15, size)
for i in range(len(img_array)):
out.write(img_array[i])
out.release()
你应该在当前文件夹中找到名为 ‘video.avi’ 的文件。