mat 3

Mat 클래스 ( 행렬의 생성과 초기화 )

행렬의 생성과 초기화 다음은 Mat 클래스 정의 중 생성과 초기화의 일부분 코드이다. class Mat { public: Mat(); // 1) Mat(int rows, int cols, int type); // 2) Mat(Size size, int type); // 3) Mat(int rows, int cols, int type, const Scalar& s); // 4) Mat(Size size, int type, const Scalar& s); // 5) Mat(int rows, int cols, int type, void* data, size_t step = AUTO_STEP); Mat(Size size, int type, void* data, size_t step = AUTO_STEP); //..

Mat 클래스 ( 개요 - Mat 행렬의 깊이, 채널, 타입 )

Mat 행렬에서 어떤 자료형을 사용하는지에 대한 정보를 깊이 "depth" 라고 부른다. C/C++ 기본 자료형 중에서 unsigned char, signed char, unsigned short, signed short, int float, double 자료형을 지원하고, openCV 4 부터 16비트 실수형도 지원한다. Mat 행렬의 깊이를 다음과 같이 형식을 이용하여 나타낸다. CV_{U:S:F} bit-depth -> 비트 수, {U:S:F} -> U: unsigned, S: signed, F: float 예를 들어 unsigned char 자료형을 사용하면 CV_8U, float 자료형을 사용하면 CV_32F 로 나타낼 수 있다. Mat 행렬은 원소를 하나만 갖는 것이 아니라 2개 이상도 갖을 ..

Mat 클래스 ( 개요 - 특징과 멤버 변수 )

Mat class : openCV에서 가장 많이 사용되는 클래스로 행렬을 나타낼 때 사용한다. Mat 클래스의 여러가지 특징 2차원 행렬뿐만 아니라 고차원 행렬 표현 한 개 이상의 채널을 가질 수 있다. 정수, 실수, 복소수 등으로 구성된 행렬 또는 벡터를 저장할 수 있다. 그레이스케일 또는 컬러 영상을 저장할 수 있다. 경우에 따라 벡터 필드, 포인트 클라우드, 텐서, 히스토그램 등 정보를 저장하기도 한다. => 2차원 영상 데이터를 저장하고 처리하는 용도로 가장 많이 사용되고 있다. Mat 클래스의 멤버 변수(public) Mat::dims 행렬의 차원을 나타냄, 영상과 같은 2차원의 경우 값이 2 Mat::rows 행렬의 행 개수, 영상의 경우 세로 픽셀 크기 (3차원 이상의 경우 -1) Mat::..