opencv视频创建空白帧并使用python编写它们

2024-05-20 13:36:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试初始化一些空白视频帧,并在ubuntulinux中使用opencv和python将其写入一个文件。我计划稍后在空白画布上添加更小的视频片段。典型的例子只显示从某个输入源读取帧,但我正在尝试生成自己的帧。以下是我目前为止的代码:

import numpy as np
import cv2
xsp=640
ysp=480
chan=3
# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (xsp,ysp))
numframes = 20
videoout = []
for i in range(1,numframes):   # init frames
    frame = np.zeros((xsp,ysp,chan),np.uint8)
    videoout.append(frame)
for frame in videoout:
    out.write(frame)
out.release()

使用上述代码,视频无法播放。在视频播放器中打开它会导致无法分解内容的错误。在

但是,如果我通过打开一个视频文件来初始化视频帧,并在它上面加上一个黑色的矩形,我就能得到有效的视频。在

^{pr2}$

似乎由uint8零数组组成的帧不足以编写有效的视频。我还是错过了一些东西。在


Tags: 代码import视频npoutcv2frame空白