OpenCV에서 이미지 데이터나 행렬(Matrix)을 표현하는 기본적인 객체입니다. 이 객체는 행렬의 크기, 데이터 유형, 채널 수 등을 정의하여 이미지나 데이터를 저장할 수 있는 구조를 제공합니다.
new cv.Mat(height, width, type)의 형태로 사용되며, height 와 width는 비디오나 이미지의 높이와 넓이를 나타내며, type은 이미지 또는 행렬의 데이터 타입을 정의합니다. 이 데이터 타입은 OpenCV에서 cv.CV_8UC4, cv.CV_8UC1 등과 같은 상수로 표현되며, 이 상수는 이미지의 비트 깊이와 채널 수를 나타냅니다.
// RGBA 이미지 생성 (4채널)
let rgbaMat = new cv.Mat(480, 640, cv.CV_8UC4); // 640x480 크기의 4채널 이미지
// 그레이스케일 이미지 생성 (1채널)
let grayMat = new cv.Mat(480, 640, cv.CV_8UC1); // 640x480 크기의 1채널 이미지
중요한 데이터타입
let gray = new cv.Mat();
위 처럼, cv.Mat() 생성자에 인자를 전달하지 않을 경우, 빈 행렬(empty matrix)을 생성합니다. 이때, 생성된 행렬은 크기, 타입, 채널 수 등 모든 속성이 초기화되지 않은 상태로 비어 있습니다.
구체적으로, 다음과 같은 특징을 가집니다:
let gray = new cv.Mat(); // 빈 행렬 생성
console.log(gray.empty()); // true: 빈 상태
console.log(gray.rows, gray.cols); // 0 0: 행과 열이 초기화되지 않음
// 크기와 타입을 지정하여 할당
gray.create(480, 640, cv.CV_8UC1); // 480x640 크기의 1채널 그레이스케일 이미지로 초기화
console.log(gray.empty()); // false: 데이터가 할당된 상태
console.log(gray.rows, gray.cols); // 480 640: 크기가 설정됨
cv.blobFromImage() (0) | 2024.09.17 |
---|---|
new cv.CascadeClassifier() (0) | 2024.09.16 |
new cv.RectVector() (1) | 2024.09.16 |
new cv.VideoCapture() (2) | 2024.09.16 |