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를 반환한다.
2개의 댓글
노마드 · 2023년 2월 6일 4:09 오후
정보 잘 들었습니다.
컴퓨터 카메라는 적용이 잘됩니다.
핸드포 카메라 즉 안드로이드 카메라를 캡쳐 해야 하는데..
opencv에 대한 정보가 없군요..
opencv로 핸드폰 카메라 캡쳐하는 apk 파일 만드는 방법을 알 수 있을까요?
Charlezz · 2023년 2월 9일 8:01 오후
Android에서 카메라를 직접 다루시려면 Camera2 API 또는 CameraX 라이브러리를 사용하시기 바랍니다.