movファイルのnumpy arrayへの変換
quick timeのmov形式動画ファイルを読み込み、3次元のnumpy arrayに変換したいです。
[フレーム、X、Y]というイメージです。
下記で連番のjpgまで保存することはできている(あとは、このjpgを読み込んでnumpy arrayにするだけ)のですが、このやり方だと毎回動画を実時間で再生しないといけないようです。(1時間の動画なら1時間かかる)
できれば、mov→numpy arrayに直接変換できて、しかもある程度高速な方法を何か教えて頂けますとありがたいです。
import cv2
import os
path='***.mov'
cd=os.path.dirname(path)
os.chdir(cd)
vidcap = cv2.VideoCapture(path)
success,image = vidcap.read()
count = 0
image_array = []
success = True
while success:
success,image = vidcap.read()
cv2.imwrite("frame%d.jpg" % count, image)
count += 1