더북(TheBook)

3.2.4 부분 행렬 추출

이 절에서는 영상에서 사각형 모양의 부분 영상을 추출하거나 참조하는 방법에 대해 알아보겠습니다. 먼저 Mat 클래스에 저장된 영상에서 사각형 모양의 부분 영상을 추출하는 방법부터 알아보겠습니다. Mat 클래스로 정의된 행렬에서 특정 사각형 영역의 부분 행렬을 추출하고 싶을 때에는 Mat 클래스에 정의된 괄호 연산자 재정의를 사용합니다. 주로 사용되는 Mat 클래스 괄호 연산자 재정의 함수 원형은 다음과 같습니다.

Mat Mat::operator()(const Rect& roi) const;
Mat Mat::operator()(Range rowRange, Range colRange) const;

roi

사각형 관심 영역

rowRange

관심 행 범위

colRange

관심 열 범위

반환값

추출한 부분 행렬 또는 영상. 부분 영상의 픽셀 데이터를 서로 공유합니다.

 

실제 예제 코드를 보면서 부분 영상 추출 동작에 대해 알아보겠습니다. 다음 예제 코드는 cat.bmp 파일에 저장된 고양이 영상을 불러와서 고양이 얼굴 주변의 부분 영상을 추출하는 예제 코드입니다.

Mat img1 = imread("cat.bmp");
Mat img2 = img1(Rect(220, 120, 340, 240));
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.