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에 저장합니다.