VideoCapture 사용하기

OpenCV에서는 카메라 영상동영상 파일에서 프레임을 가져오는 작업을 VideoCapture 하나로 처리한다.

 

카메라 또는 비디오 열기

// 카메라 불러오기, 안드로이드는 적용되지 않음.
val videoCapture = VideoCapture(index, apiPreferences)
// 또는 
val videoCapture = VideoCapture()
camera.open(index, apiPreferences)

// 비디오 불러오기
val videoCapture = VideoCapture(filePath, apiPreferences)
// 또는
val videoCapture = VideoCapture()
video.open(filePath, apiPreferences)

index : 카메라를 사용하는 경우 사용할 카메라 index (or id), 일반적으로 시스템 기본 카메라를 사용하려면 0을 대입
filePath : 비디오를 사용하는 경우 사용할 비디오 파일 경로.
apiPreference: 선호하는 카메라 or 비디오 처리 방법

주요 VideoCaptureAPIs 열거형 상수

비디오 캡쳐 준비 확인

VideoCapture.isOpened():Boolean

프레임을 받아올 준비가 되면 true를 반환한다.

프레임 받아오기

VideoCapture.read(mat):Boolean

mat: 프레임을 가져오는데 성공할 때 저장할 데이터 타입
프레임을 가져오는데 성공하면 true, 실패하면 false를 반환한다.

카메라 또는 비디오 속성 값 참조 및 설정

속성 참조하기

VideoCapture.get(propertyId):Double

propertyId: 속성 상수

해당 propertyId에 상응 하는 값을 반환한다. 실패시 0을 반환

더 많은 propertyId를 참조하려면 공식 문서를 참조

속성 설정하기

VideoCapture.set(propertyId, value):Boolean

propertyId: 속성 상수
value: 설정하고자 하는 값

해당 속성을 설정하는데 성공하면 true를 반환한다.

카테고리: OpenCV

2개의 댓글

노마드 · 2023년 2월 6일 4:09 오후

정보 잘 들었습니다.
컴퓨터 카메라는 적용이 잘됩니다.
핸드포 카메라 즉 안드로이드 카메라를 캡쳐 해야 하는데..
opencv에 대한 정보가 없군요..
opencv로 핸드폰 카메라 캡쳐하는 apk 파일 만드는 방법을 알 수 있을까요?

    Charlezz · 2023년 2월 9일 8:01 오후

    Android에서 카메라를 직접 다루시려면 Camera2 API 또는 CameraX 라이브러리를 사용하시기 바랍니다.

답글 남기기

Avatar placeholder

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.