더북(TheBook)

이처럼 Mat 클래스의 부분 영상 참조 기능은 입력 영상에 사각형 모양의 관심 영역(ROI, Region Of Interest)을 설정하는 용도로 사용할 수 있습니다. ROI는 영상의 전체 영역 중에서 특정 영역에 대해서만 영상 처리를 수행할 때 설정하는 영역을 의미합니다. 사각형이 아닌 임의의 모양의 ROI를 설정하고 싶은 경우에는 마스크 연산을 응용할 수 있으며, 마스크 연산에 대해서는 4.5.1절에서 자세히 다루겠습니다.

만약 독립된 메모리 영역을 확보하여 부분 영상을 추출하고자 한다면 괄호 연산자 뒤에 Mat::clone() 함수를 함께 사용해야 합니다. 즉, Mat 클래스의 괄호 연산자 재정의 함수를 사용한 후, 바로 뒤에 .clone() 코드를 붙여서 사용하면 독립된 복사본의 부분 영상을 만들 수 있습니다. 다음은 실제 코드 사용 예입니다.

Mat img3 = img1(Rect(220, 120, 340, 240)).clone();

이처럼 코드를 작성하면 img1 영상과 img3 영상은 서로 다른 메모리 공간을 사용하며, 추후 img3 영상의 픽셀 값을 변경해도 img1 영상은 변경되지 않습니다.

지금까지 설명한 영상의 부분 영상 관련 예제 코드를 정리하여 코드 3-9에 나타냈습니다. 추후 영상에서 부분 영상을 추출하거나 일부 영역에 대해 영상 처리를 적용할 경우에 MatOp3() 함수에 나열된 예제 코드를 참고하기 바랍니다.

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