以下のスクリプトはあなたが望むことをします。その一部を関数に分けることができます。
以下のコードではエラーはチェックされません。特に、製造コードでは、変数frame*
のすべてがゼロより大きいかどうかがチェックされます。
import cv2
import numpy as np
cap = cv2.VideoCapture('test.mp4')
frameCount = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
frameWidth = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frameHeight = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
buf = np.empty((frameCount, frameHeight, frameWidth, 3), np.dtype('uint8'))
fc = 0
ret = True
while (fc < frameCount and ret):
ret, buf[fc] = cap.read()
fc += 1
cap.release()
cv2.namedWindow('frame 10')
cv2.imshow('frame 10', buf[9])
cv2.waitKey(0)
可能な複製(http://stackoverflow.com/questions/29718238/how-to -read-mp4-video-to-be-by-scikit-image) – JulienD