더북(TheBook)

만약 OpenCV에서 제공하는 함수처럼 사용자 정의 함수에서 Mat 객체뿐만 아니라 vector<T> 타입의 객체를 한꺼번에 전달받을 수 있게 만들고 싶다면 사용자 정의 함수 인자에 InputArray 타입을 사용할 수 있습니다. 그리고 실제 함수 본문에서는 _InputArray 클래스의 멤버 함수인 _InputArray::getMat() 함수를 사용하여 Mat 객체 타입 형태로 변환해서 사용해야 합니다.

Mat _InputArray::getMat(int idx=-1) const;

idx

참조할 행 번호. idx < 0이면 행렬 전체를 참조합니다.

반환값

Mat 행렬 객체

 

코드 3-17은 InputArray 클래스 타입의 인자를 사용하는 함수를 정의하는 방법과 실제 사용 방법을 보여 주는 예제 코드입니다. 코드 3-17에 나온 InputArrayOp() 함수와 printMat() 함수를 사용하는 전체 코드는 내려받은 예제 파일에서 ch03/InputArrayOp 프로젝트에서 확인할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.