상세 컨텐츠

본문 제목

new cv.VideoCapture()

OpenCV

by 폴리프레임 2024. 9. 16. 14:00

본문

반응형

cv.VideoCapture는 비디오 캡처를 위한 객체로, HTML5 <video> 또는 비디오 파일에서 프레임을 가져오는 역할을 합니다. OpenCV의 비디오 스트림 또는 웹캠으로부터 이미지를 캡처할 때 사용됩니다.

const video = document.getElementById("camera_input");

const cap = new cv.VideoCapture(video);
const frame = new cv.Mat(video.height, video.width, cv.CV_8UC4); // RGBA 로 저장
const frameBGR = new cv.Mat(video.height, video.width, cv.CV_8UC3);

cap.read(frame);  // 카메라로부터 프레임을 읽음
  • video: 비디오 캡처 대상입니다.  HTML5의 <video>
  • cap: 비디오 캡처 객체로, 비디오에서 프레임을 읽는 역할을 합니다.
  • frame비디오에서 읽은 프레임을 저장할 행렬(이미지)을 나타냅니다. 이 행렬의 크기는 비디오의 높이와 너비에 맞게 설정되어 있으며, 4채널(RGBA) 형식입니다. 즉, RGBA 형식의 프레임을 저장할 Mat 객체입니다.
  • video.height, video.width: 비디오의 높이와 너비로, 캡처된 프레임의 크기를 지정합니다.
  • cv.CV_8UC4: 8비트의 4채널(RGBA) 이미지를 의미합니다.
  • CV_8U: 8비트 부호 없는 정수형 데이터.
  • C4: 4채널로, 일반적으로 R(빨강), G(초록), B(파랑), A(알파) 채널을 가리킵니다. 이 형식은 픽셀마다 4개의 값을 갖습니다.
  • frameBGRBGR 포맷으로 저장된 프레임. 즉, BGR 형식의 프레임을 저장할 Mat 객체
  • cv.CV_8UC3: 8비트의 3채널(BGR) 이미지를 의미합니다
  • C3: 3개의 채널을 갖는 이미지로, 각각 **B(파랑), G(초록), R(빨강)**을 의미합니다
  • OpenCV의 많은 함수들은 기본적으로 BGR 이미지를 사용

 

주요 메서드:

  • cap.read(): 카메라 또는 비디오로부터 프레임을 읽어 저장합니다.
  • cap.release(): 비디오 스트림을 종료하고 자원을 해제합니다.

'OpenCV' 카테고리의 다른 글

cv.blobFromImage()  (0) 2024.09.17
new cv.CascadeClassifier()  (0) 2024.09.16
new cv.RectVector()  (1) 2024.09.16
new cv.Mat()  (0) 2024.09.16

관련글 더보기