동영상에서 캡처 이미지를 찍는 방법 (OpenCV)

계기



OpenCV를 사용하여 긴 동영상을 일부만 저장하는 방법에서 얻은 1 분 동영상에서 이미지 처리의 샘플 이미지를 좋아하는 곳에서 캡처를 찍는 스크립트를 만들어 보겠습니다

개발



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 에 재기입한 것 뿐입니다.
처리를 위해 여러 장의 이미지를 원했을 뿐입니다.

참고로 한 링크


  • opencv-cookbook 카메라 이미지 캡처
  • 좋은 웹페이지 즐겨찾기