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”的文件。