더북(TheBook)

cvtColor() 함수를 이용하여 BGR 컬러 영상을 그레이스케일 영상으로 변환하는 예제 코드를 코드 10-2에 나타냈습니다. 코드 10-2에 나타난 color_grayscale() 함수는 butterfly.jpg 영상을 3채널 BGR 컬러 영상 형식으로 불러온 후 그레이스케일 영상으로 변환하여 화면에 나타냅니다. color_grayscale() 함수가 정의된 소스 파일은 내려받은 예제 파일 중에서 ch10/ColorOp 프로젝트를 참고하기 바랍니다.

코드 10-2 컬러 영상을 그레이스케일 영상으로 변환하기 [ch10/ColorOp]

01    void color_grayscale()
02    {
03        Mat src = imread("butterfly.jpg");
04     
05        if (src.empty()) {
06            cerr << "Image load failed!" << endl;
07            return;
08        }
09     
10        Mat dst;
11        cvtColor(src, dst, COLOR_BGR2GRAY);
12     
13        imshow("src", src);
14        imshow("dst", dst);
15     
16        waitKey();
17        destroyAllWindows();
18    }

 

3행 imread() 함수의 두 번째 인자를 지정하지 않으면 기본적으로 3채널 BGR 컬러 영상 형식으로 불러옵니다.

11행 3채널 BGR 컬러 영상 src를 그레이스케일 영상으로 변환하여 dst에 저장합니다.