OpenCV

OpenCV 2 Video read/write

728x90

 

 

Video Read

import cv2
import numpy as np

#FPS = Frame Per Second : 초당 사진 구성

cap = cv2.VideoCapture('data/videos/chaplin.mp4')

if cap.isOpened() == False:
    print('Error opening video stream or file')

else:
    #반복문이 필요한 이유? 비디오는 여러 사진으로 구성되어있음.
    while cap.isOpened():
        #사진을 1장씩 가져와서 
        ret, frame = cap.read()
        #제대로 가져왔으면 화면 표시.
        if ret == True:
            cv2.imshow("Frame", frame)

            #키보드에서 esc를 누르면 exit하라
            if cv2.waitKey(25) & 0xFF ==27:
                break
        else:
            break

    cap.release()
   
    cv2.destroyAllWindow()

 

Video Write

import cv2
import numpy as np

cap = cv2.VideoCapture(0)

if cap.isOpened() == False:
    print('unable to read camera feed')

else :
    #프레임의 정보 가져오기:화면 크기(width, height)
    frame_width = int(cap.get(3))
    frame_height = int(cap.get(4))

    cv2.VideoWriter('data/videos/output.avi',
                    cv2.VideoWriter_fourcc('M','J','P','G'),
                    10,
                    (frame_width,frame_height))

    #캠으로부터 계속 입력받음
    while True:
        ret, frame = cap.read()

        if ret ==True:
            out.write(frame)

            cv2.imshow('frame', frame)
            
            if cv2.waitKey(1) & 0xFF ==27:
                break

        else:
            break

    cap.release()
    out.release()
    cv2.destroyALLWindow()

 

728x90

'OpenCV' 카테고리의 다른 글

dilate 이미지 확장  (0) 2021.04.20
Threshold 흐린걸 진하게  (0) 2021.04.20
OpenCV 이미지에 도형 그리기  (0) 2021.04.15
OpenCV 데이터 타입 변환입 변환  (0) 2021.04.15
OpenCV 이미지 crop 하기  (1) 2021.04.15