3.2.6 행렬 정보 참조하기
Mat 클래스를 이용하여 만든 행렬 객체로부터 다양한 정보를 참조하는 방법에 대해 알아보겠습니다. 먼저 Mat 클래스 멤버 변수를 직접 참조하여 얻을 수 있는 행렬 정보에 대해 알아보고, 이어서 Mat 클래스 멤버 함수로부터 얻을 수 있는 행렬 정보에 대해 알아보겠습니다.
Mat 객체에서 가장 자주 참조하는 정보는 행렬 또는 영상의 크기 정보입니다. Mat::rows 멤버 변수는 행렬의 행 개수를 나타내고, Mat::cols 멤버 변수는 열 개수를 나타냅니다. Mat 객체에 영상이 저장되어 있는 경우라면 Mat::rows는 영상의 세로 픽셀 크기이고, Mat::cols는 영상의 가로 픽셀 크기를 나타냅니다. 이들 멤버 변수는 모두 public 접근 지시자로 선언되어 있기 때문에 클래스 외부에서도 자유롭게 접근할 수 있습니다.
예를 들어 lenna.bmp 레나 영상을 불러와서 영상의 가로 및 세로 크기를 출력하려면 다음과 같이 코드를 작성할 수 있습니다.
Mat img1 = imread("lenna.bmp"); cout << "Width: " << img1.cols << endl; cout << "Height: " << img1.rows << endl;
이 코드에서 img1 영상의 가로 크기를 출력하기 위해 img1.cols를 사용하였고, 세로 크기를 출력하기 위해 img1.rows를 사용했습니다. 실제로 lenna.bmp 파일의 레나 영상 크기는 512×512이기 때문에 앞 코드를 실행하면 다음과 같은 문자열이 출력됩니다.
Width: 512 Height: 512