0

我这里有一个奇怪的问题!

我在一个文件中有一个视频。我想从这个视频中提取一些帧并从中制作一个视频,然后用它来显示(注意:我不想为此使用 imshow() )。我想在不将其写入文件的情况下执行此操作。

Algorithm:
1. Read the video from file
2. extract the frames
3. make a video out of these frames(save it as a variable; do not write it into a file)
4. Use this variable which holds the new video for displaying

任何建议都会有很大帮助!

4

1 回答 1

1

创建一个cap = cv2.VideoCapture(file_name). 获取电影的宽度和高度

h = cap.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)
w = cap.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)

创建一个numpy数组

frames = np.zeros((h, w, 3, number_of_frames), np.uint8)

并将要保留的帧保存到此数组中:

error, frame = cap.read()
frames[:,:,:,i] = frame

如果您事先不知道有多少帧,只需将它们连接到 Python 列表中即可。

然后,显示您的框架。

于 2013-07-26T09:47:18.493 回答