OpenCV VideoWriter 问题 - 视频中的 RGB 列

OpenCV VdeoWriter problems - RGB columns in the video

我正在尝试进行一些视频处理,但不知道如何输出结果。我需要一个 RGB 视频。当我写这样的代码时,我希望输出是一个白色的 200x100 矩形:

oy = 100
ox = 200
wri = cv2.VideoWriter("output/vid.avi", cv2.VideoWriter_fourcc(*"MJPG"), 30.0, (ox, oy))

testarr = np.empty((oy, ox, 3))
testarr.fill(255.0)

for i in range(500):
    wri.write(testarr)

但是,我得到了这个:

我尝试使用MJPG(他们说这是最安全的选择)、XVIDDIVX并更改视频格式,一切都一样。

我什至不知道是哪个部分导致了问题:我应该寻找不同的编解码器吗?或者我使用了错误的数组结构?

您的代码在 4.0.0 中不起作用。因此我将 testarr 变量重新定义为:

testarr = np.empty((oy, ox, 3), dtype="uint8")

然后出现白底视频。

您可以将 .aviMJPG 代码一起使用 here

但是如果您打算使用 XVIDDIVX,您需要将代码初始化为 MP4V