きっかけ
[OpenCVを使って長い動画を一部だけ保存する方法]
(https://qiita.com/satsukiya/items/9647e20c4e27b3d0362a)で取得した1分動画から画像処理のサンプル画像用に好きなところでキャプチャを撮るスクリプトを作ってみたっす:laughing:
開発
Viewを表示して キーボードの s[save] ボタンを押すとキャプチャが保存されます。
import cv2
if __name__ == '__main__':
cap = cv2.VideoCapture('one_minutes.mp4')
window_name = "Drop Out NHK"
save_press_count = 1
while True:
presskey = cv2.waitKey(1)
if not cap.isOpened():
break
ret, frame = cap.read()
if presskey == ord('q'):
break
elif presskey == ord('s'):
cv2.imwrite("capture_{}.png".format(save_press_count), frame)
# capture ボタンを押しただけ 画像を保存
save_press_count += 1
cv2.imshow(window_name,frame)
cap.release()
cv2.destroyWindow(window_name)
結果
おわりに
OpenCV 2 プログラミングブック にあったコードを思い出して C++ -> Python に書き換えただけです。
処理用に複数枚の画像が欲しかっただけです。