코드 3-17 InputArray 클래스를 이용한 사용자 함수 정의 [ch03/InputArrayOp]
01 void InputArrayOp() 02 { 03 uchar data1[] = { 1, 2, 3, 4, 5, 6 }; 04 Mat mat1(2, 3, CV_8U, data1); 05 printMat(mat1); 06 07 vector<float> vec1 = { 1.2f, 3.4f, -2.1f }; 08 printMat(vec1); 09 } 10 11 void printMat(InputArray _mat) 12 { 13 Mat mat = _mat.getMat(); 14 cout << mat << endl; 15 }
• 3~4행 data1 배열 값을 원소로 갖는 2×3 행렬 mat1을 생성합니다.
• 5행 printMat() 함수에 Mat 클래스 객체를 전달하여 원소 값을 출력합니다.
• 7행 세 개의 실수로 이루어진 vec1 벡터를 생성합니다.
• 8행 printMat() 함수에 vector<float> 객체를 전달하여 원소 값을 출력합니다.
• 13행 InputArray 타입의 _mat 객체로부터 Mat 객체 mat를 생성합니다.
• 14행 C++ 표준 출력 스트림으로 mat 행렬을 출력합니다.