動画ファイルを静止画に分解する
OpenCVを使うことで、動画ファイルを簡単に静止画に分解することが出来る。
動画を1フレームずつjpg画像として保存し、連番で出力する。
#Python3.7.4 #opencv3.4.2 import cv2 #動画ファイルを開く cap = cv2.VideoCapture('output.avi') i = 1 while(cap.isOpened()): #1フレーム読み込み ret, frame = cap.read() if ret==True: # フレームをjpgで書き出す cv2.imwrite('%s.jpg' % i, frame) cv2.imshow('frame',frame) #qキーを押したら途中で終了 if cv2.waitKey(1) & 0xFF == ord('q'): break i += 1 else: break #終わったら動画を閉じる cap.release() cv2.destroyAllWindows()
例えば、毎フレームではなく、10フレーム毎の保存にすることも容易にできる。単純だが非常に便利。