더북(TheBook)

Mat::setTo() 함수에서 마스크 영상을 사용하는 예제 코드를 코드 4-16에 나타냈습니다. 코드 4-16의 mask_setTo() 함수는 lenna.bmp 레나 영상의 일부 영역에 대해서만 픽셀 값을 노란색으로 설정합니다. 이때 노란색으로 설정할 영역 정보는 mask_smile.bmp 파일이 제공합니다. mask_setTo() 함수가 정의된 소스 파일과 사용된 영상 파일은 내려받은 예제 파일 중 ch04/utils 프로젝트에서 확인할 수 있습니다.

코드 4-16 마스크 영상을 이용한 픽셀 값 설정 예제 [ch04/utils]

01    void mask_setTo()
02    {
03        Mat src = imread("lenna.bmp", IMREAD_COLOR);
04        Mat mask = imread("mask_smile.bmp", IMREAD_GRAYSCALE);
05     
06        if (src.empty() || mask.empty()) {
07            cerr << "Image load failed!" << endl;
08            return;
09        }
10     
11        src.setTo(Scalar(0, 255, 255), mask);
12     
13        imshow("src", src);
14        imshow("mask", mask);
15     
16        waitKey(0);
17        destroyAllWindows();
18    }

 

3행 레나 영상을 src 변수에 저장합니다.

4행 마스크 영상을 mask 변수에 저장합니다.

11행 mask 영상에서 픽셀 값이 0이 아닌 위치에서만 src 영상 픽셀을 노란색으로 설정합니다.

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