Python OpenCV VdeoWriter问题-视频中的RGB列

Python OpenCV VdeoWriter问题-视频中的RGB列,python,opencv,video-processing,Python,Opencv,Video Processing,我试图做一些视频处理,但不知道如何输出结果。我需要一个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

我试图做一些视频处理,但不知道如何输出结果。我需要一个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(他们说这是最安全的选择),
XVID
DIVX
,并改变视频格式,一切都是一样的


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

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

testarr=np.empty((oy,ox,3),dtype=“uint8”)
然后出现白色背景视频

如前所述,您可以将
.avi
MJPG
代码一起使用

但是如果您计划使用
XVID
DIVX
,则需要将代码初始化为
MP4V