将图像的numpy列表转换为mp4视频

时间:2019-12-31 00:40:19

标签: image numpy machine-learning video cv2

我有1000个RGB图像的Numpy列表(1000、96、96、3)。我已经使用openCV从这些图像中创建mp4视频。我的路是棕色的,汽车是红色的,但是在创建视频后,它们变成了蓝色。 您能告诉我如何避免这个问题吗?

我的代码是:

img_array = []
for img in brown_dataset:
    img_array.append(img)

size = (96,96)

out = cv2.VideoWriter('project_brown.mp4',cv2.VideoWriter_fourcc(*'DIVX'),15, size)

for i in range(len(img_array)):
    out.write(img_array[i])
out.release()

enter image description here 制作视频之前我的图像 后: enter image description here

1 个答案:

答案 0 :(得分:0)

如评论中所述,OpenCV默认使用BGR格式,其中您的输入数据集为RGB。

这是一种解决方法

img_array = []
for img in brown_dataset:
    img_array.append(img)

size = (96,96)

out = cv2.VideoWriter('project_brown.mp4',cv2.VideoWriter_fourcc(*'DIVX'),15, size)

for i in range(len(img_array)):
    rgb_img = cv2.cvtColor(img_array[i], cv2.COLOR_RGB2BGR)
    out.write(rgb_img)
out.release()