我这里有一点奇怪的问题!
我在一个文件中有一个视频。我想从这个视频中提取一些帧并制作一个视频,然后用它来显示(注意:我不想为此使用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
任何建议都会有很大的帮助!
答案 0 :(得分: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列表中即可。
然后,显示你的画面。