1. 비디오 캡쳐: cap = cv2.VideoCapture(file_path 또는 index)
- cap: 비디오 캡쳐 객체
- file_path: 영상 파일 경로
- index: 카메라 장치 번호, 0부터 순차적으로 증가
2. 객체 초기화: ret = cap.isOpened()
3. 영상프레임 읽기: ret, img = cap.read()
- ret: 프레임 읽기 성공 또는 실패 여부, True/False
- img: 프레임 이미지, NumPy 배열 또는 None
4. 프로퍼티 변경: cap.set(속성ID, value)
- cap.set(cv2.CAP_PROP_FRAME_WIDTH, 480)
5. 프로퍼티 확인: cap.get(속성ID)
- cap.get(cv2.CAP_PROP_FRAME_WIDTH)
6. 속성ID (프로퍼티 변경/확인시 인자값)
- cv2.CAP_PROP_FRAME_WIDTH: 프레임 폭
- cv2.CAP_PROP_FRAME_HEIGHT: 프레임 높이
- cv2.CAP_PROP_FRAME_FPS: 초당 프레임 수
- cv2.CAP_PROP_FRAME_MSEC: 영상 파일의 프레임 위치(ms)
- cv2.CAP_PROP_FRAME_AVI_RATIO: 영상 파일의 상대 위치(0:시작, 1:끝)
- cv2.CAP_PROP_FRAME_FOURCC: 영상 파일 코덱 문자
- cv2.CAP_PROP_FRAME_AUTOFOCUS: 카메라 자동 초점 조절
- cv2.CAP_PROP_FRAME_ZOOM: 카메라 줌
7. 캡쳐 차원 반납: cap.release()
import time
import cv2
cap= cv2.VideoCapture(0)
time.sleep(0.1)
while(True):
ret, image = cap.read()
image = cv2.flip(image, -1) #0: horizontal 1: vertical -1: horizontal & vertical
image = cv2.resize(image, (320, 240))
cv2.imshow("Frame", image)
key = cv2.waitKey(1)
if key == ord("q"):
break
elif key == ord(" "):
myimage = 'image_'+time.strftime('%Y%m%d_%H%M%S')+'.jpg'
cv2.imwrite('./data/'+myimage, image)
cv2.destroyAllWindows()