K 개발자
이미지와 비디오 입출력 본문
이미지 읽기
- img = cv2.imread(file_name [, mode_flag]) : 파일로부터 이미지 읽기
- file_name : 이미지 경로, 문자열
- mode_flag = cv2.IMREAD_COLOR : 읽기 모드 지정
- cv2.IMREAD_COLOR : 컬러(BGR) 스케일로 읽기, 기본 값
- cv2.IMREAD_UNCHANGED : 파일 그대로 읽기
- cv2.IMREAD_GRAYSCALE : 그레이(흑백) 스케일로 읽기
- img : 읽은 이미지, NumPy 배열
- cv2.imshow(title, img) : 이미지를 화면에 표시
- title : 창 제목, 문자열
- img : 표시할 이미지, NumPy 배열
- key = cv2.waitKey([delay]) : 키보드 입력 대기
- delay = 0 : 키보드 입력을 대기할 시간(ms), 0 : 무한대(기본 값)
- key : 사용자가 입력한 키 값, 정수
- -1 : 대기시간 동안 키 입력 없음
이미지 저장하기
- cv2.imwrite(file_path, img) : 이미지를 파일에 저장
- file_path : 저장할 파일 경로 이름, 문자열
- img : 저장할 영상, NumPy 배열
동영상 및 카메라 프레임 읽기
- cap = cv2.VideoCapture(file_path 또는 index) : 비디오 캡처 객체 생성자
- file_path : 동영상 파일 경로
- index : 카메라 장치 번호, 0부터 순차적으로 증가(0, 1, 2, …)
- cap : VideoCapture 객체
- ret = cap.isOpened() : 객체 초기화 확인
- ret : 초기화 여부, True/False
- ret, img = cap.read() : 영상 프레임 읽기
- ret : 프레임 읽기 성공 또는 실패 여부, True/False
- img : 프레임 이미지, NumPy 배열 또는 None
- cap.set(id, value) : 프로퍼티 변경
- cap.get(id) : 프로퍼티 확인
- cap.release() : 캡처 자원 반납
카메라 비디오 속성 제어
- 속성 ID : 'cv2.CAP_PROP_'로 시작하는 상수
- cv2.CAP_PROP_FRAME_ WIDTH : 프레임 폭
- cv2.CAP_PROP_FRAME_HEIGHT : 프레임 높이
- cv2.CAP_PROP_FPS : 초당 프레임 수
- cv2.CAP_PROP_POS_MSEC : 동영상 파일의 프레임 위치(ms)
- cv2.CAP_PROP_POS_AVI_RATIO : 동영상 파일의 상대 위치(0: 시작, 1: 끝)
- cv2.CAP_PROP_FOURCC : 동영상 파일 코덱 문자
- cv2.CAP_PROP_AUTOFOCUS : 카메라 자동 초점 조절
- cv2.CAP_PROP_ZOOM : 카메라 줌
비디오 파일 저장하기
- writer = cv2.VideoWriter(file_path, fourcc, fps, (width, height)) : 비디오 저장 클래스 생성자 함수
- file_path : 비디오 파일 저장 경로
- fourcc : 비디오 인코딩 형식 4글자
- fps : 초당 프레임 수
- (width, height) : 프레임 폭과 프레임 높이
- writer : 생성된 비디오 저장 객체
- writer.write(frame) : 프레임 저장
- frame : 저장할 프레임, NumPy 배열
- writer.set(id, value) : 프로퍼티 변경
- writer.get(id) : 프로퍼티 확인
- ret = writer.fourcc(c1, c2, c3, c4) : fourcc 코드 생성
- c1, c2, c3, c4 : 인코딩 형식 4글자, 'MJPG', 'DIVX' 등
- ret : fourcc 코드
- cv2.VideoWriter_fourcc(c1, c2, c3, c4) : cv2.VideoWriter.fourcc()와 동일
Comments