cvtColor() 함수는 입력 영상 src의 색 공간을 변환하여 결과 영상 dst를 생성합니다. 색 공간을 어떻게 변환할 것인지는 code 인자로 지정합니다. code 인자에는 ColorConversionCodes 열거형 상수를 지정할 수 있으며, 주로 사용되는 색 공간 변환 코드를 표 10-1에 나타냈습니다. OpenCV는 표 10-1에 나타난 변환 코드 외에도 훨씬 많은 색 공간 변환을 지원하며, 자세한 사항은 OpenCV 문서 사이트를 참고하기 바랍니다.1
▼ 표 10-1 주요 색 공간 변환 코드
ColorConversionCodes 열거형 상수 |
설명 |
COLOR_BGR2RGB 또는 COLOR_RGB2BGR |
BGR 채널 순서와 RGB 채널 순서를 상호 변환합니다. |
COLOR_BGR2GRAY |
3채널 BGR 컬러 영상을 1채널 그레이스케일 영상으로 변환합니다. |
COLOR_GRAY2BGR |
1채널 그레이스케일 영상을 3채널 BGR 컬러 영상으로 변환합니다. |
COLOR_BGR2XYZ |
BGR 색 공간을 CIE XYZ 색 공간으로 변환합니다. |
COLOR_XYZ2BGR |
CIE XYZ 색 공간을 BGR 색 공간으로 변환합니다. |
COLOR_BGR2YCrCb |
BGR 색 공간을 YCrCb 색 공간으로 변환합니다. |
COLOR_YCrCb2BGR |
YCrCb 색 공간을 BGR 색 공간으로 변환합니다. |
COLOR_BGR2HSV |
BGR 색 공간을 HSV 색 공간으로 변환합니다. |
COLOR_HSV2BGR |
HSV 색 공간을 BGR 색 공간으로 변환합니다. |
COLOR_BGR2Lab |
BGR 색 공간을 CIE Lab 색 공간으로 변환합니다. |
COLOR_Lab2BGR |
CIE Lab 색 공간을 BGR 색 공간으로 변환합니다. |
cvtColor() 함수와 ColorConversionCodes 열거형 상수의 조합으로 수행할 수 있는 색 공간 변환 중에서 사용성이 높은 몇 가지 색 공간 변환에 대해 좀 더 자세히 알아보겠습니다.
1 OpenCV 4.0.0에서 지원하는 전체 색 공간 변환 코드는 https://docs.opencv.org/4.0.0/d8/d01/group__imgproc__color__conversions.html에서 확인할 수 있습니다.