더북(TheBook)

행렬의 모든 원소가 1로 초기화된 행렬을 생성하려면 Mat::ones() 함수를 사용할 수 있습니다. 또한 행렬 연산에서 자주 사용되는 단위 행렬(identity matrix)을 생성하려면 Mat::eye() 함수를 사용할 수 있습니다. Mat::ones()Mat::eye() 함수 원형은 다음과 같습니다.

static MatExpr Mat::ones(int rows, int cols, int type);
static MatExpr Mat::ones(Size size, int type);

rows

새로 만들 행렬의 행 개수(영상의 세로 크기)

cols

새로 만들 행렬의 열 개수(영상의 가로 크기)

size

새로 만들 행렬의 크기

type

새로 만들 행렬의 타입

반환값

모든 원소가 1로 초기화된 행렬 표현식

 

static MatExpr Mat::eye(int rows, int cols, int type);
static MatExpr Mat::eye(Size size, int type);

rows

새로 만들 행렬의 행 개수(영상의 세로 크기)

cols

새로 만들 행렬의 열 개수(영상의 가로 크기)

size

새로 만들 행렬의 크기

type

새로 만들 행렬의 타입

반환값

단위 행렬을 표현하는 행렬 표현식

 

Mat::ones()Mat::eye() 함수의 사용 방법은 Mat::zeros() 함수와 완전히 같으며, 생성되는 행렬 원소의 초깃값만 다릅니다. 다음은 Mat::ones()Mat::eye() 함수를 사용하여 Mat 객체를 생성하는 예제 코드입니다.

Mat mat2 = Mat::ones(3, 3, CV_32FC1);    // 1's matrix
Mat mat3 = Mat::eye(3, 3, CV_32FC1);     // identity matrix
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.