[OpenCV] 카메라와 동영상

happy_quokka·2023년 11월 8일
0

OpenCV

목록 보기
6/11

카메라와 동영상 처리

VideoCapture 클래스

  • OpenCV에서는 카메라, 동영상으로부터 프레임을 받아오는 작업을 VideoCapture 클래스 하나로 처리
  • 멤버 함수
    • open() : 카메라 또는 파일 열기
    • isOpenec() : open 여부 확인
    • read() : 현재 프레임 받아오기
    • get(), set() : 속성 설정
    • grab() : 현재 프레임 캡쳐 시작
    • retrieve() : 캡쳐된 영상 받아오기
    • release() : 사용 끝남 알림

카메라 열기

VideoCapture::VideoCapture(int index, int apiPreference = CAP_ANY);

bool VideoCapture::open(int index, int apiPreference = CAP_ANY);
  • index : 사용할 캡쳐 장치의 ID, 기본 카메라의 경우 0
  • apiPreference : 카메라 처리 방법, 보통 default값 그대로 사용
  • 반환값
    • VideoCapture 생성자 : VideoCapture 객체 반환
    • open() 함수 : 작업이 성공하면 true, 실패하면 false

동영상 파일 열기

VideoCapture::VideoCapture(const string& filename, int apiPreference = CAP_ANY);

bool VideoCapture::open(const string& filename, int apiPreference = CAP_ANY);
  • filename : 동영상 파일 이름
  • apiPreference : 카메라 처리 방법, 보통 default값 그대로 사용
  • 반환값
    • VideoCapture 생성자 : VideoCapture 객체 반환
    • open() 함수 : 작업이 성공하면 true, 실패하면 false

현재 프레임 받아오기

bool VideoCapture::read(OutputArray image);
VideoCapture& VideoCapture::operator >>  (Mat& image);
  • image : 현재 프레임, 만약 받아오지 못하면 비어 있는 영상으로 설정
  • 반환값 : read()함수는 작업이 성공하면 true, 실패하면 false 반환
  • >> 연산자 오버로딩은 내부에서 read()함수를 재호출하는 wrapper 함수

0개의 댓글