使用Python在视频中存储单个帧

时间:2013-12-12 17:50:56

标签: python opencv image-processing video-processing

我使用Opencv模块打开并显示我的视频。我想要做的是将各个帧存储在一个数组中,并以依赖的方式处理它们。 我尝试使用:

for i< framecount

ret,frame[i]=cap.read()

其中cap有视频,framecount有视频中的帧数,但它不起作用!有什么想法吗?

ValueError:无法将形状(288,360,3)的输入数组广播为形状(360,3)

1 个答案:

答案 0 :(得分:0)

如果您将数组声明如下

import numpy as np

w = frame.shape[0]
h = frame.shape[1]
d = frame.shape[2]
framearray = np.empty((framecount, w, h, d), dtype=frame.dtype)

您可以根据需要解压缩

for i in range(framecount):
    _, framearray[i] = cap.read()