Color Processing
색상 이미지를 처리하는 다양한 방법에 대해 소개하겠다.
Intensity transformation, Histogram equalization, Spatial filtering
이 세 가지 기법은 색상 이미지를 처리할 때 사용된다.
근데 RGB 컬러 공간에서 각 채널에 이런 기술들을 적용하는 건 일반적이지 않다.
대신에 intensity channel만 따로 떼어내서 여기에만 적용한다.
그래서 컬러 공간을 HSI나 YUV(YCbCr)로 변환한 후에 작업을 진행하는 방식이다.
왜냐면 RGB 채널에 각각 적용하면 이상하게 나올 수 있다.
HSI 컬러 공간을 사용하는 이유는
HSI는 색상을 Hue, Saturation, Intensity로 나누니까 이미지의 강도만 따로 제어하는 게 가능하다.
그리고 특정한 색상 범위의 픽셀을 찾아서, 그 외의 색상은 Saturation 채널에서 0으로 만들어버릴 수 있다.
즉, 특정한 색만 강조하고 나머지는 날려버리는 기술인 Color Slicing을 할 수 있다.
그리고 Color Conversion을 할 수 있는데 Hue 채널을 사용하면 색상 영역을 변경하여 원하는 색만 쏙쏙 바꿀 수 있다.
Color Processing 중 가짜 색상 처리라고도 불리는 Pseudo Coloring에 대해 설명하겠다.
이건 실제 색 정보가 없는 회색조 이미지에 인위적으로 색을 입히는 방식이다.
Pseudo Coloring의 목적은 인간의 눈은 회색의 30~50가지 정도만 구별할 수 있는데, 색상이 있는 이미지에서는 훨씬 더 많은 차이를 구별할 수 있다.
색상이 있을 때는 10만에서 1천만 가지 색상까지도 구별할 수 있다.
그러니까 정보를 더 잘 드러내기 위해서 회색조 이미지에 색을 입히면, 그 미세한 차이를 더 쉽게 구분할 수 있다.
주로 의료 이미지, 과학 데이터 시각화, 위성 이미지 분석 등에 많이 사용된다.
왜냐면 회색 이미지 자체는 너무 단조로워서 정보를 파악하기 어려울 때가 많으니까
Pseudo Coloring 기법으로 Intensity Slicing이 있는데, 이미지의 각 강도(intensity) 값에 색을 매핑하는 기법이다.
쉽게 말해서, 회색조 이미지를 강도 값에 따라 여러 구간으로 나누고, 각 구간에 특정 색상을 부여하는 거다.
어두운 영역은 파란색, 밝은 영역은 빨간색 이런 식으로 말이다.
이미지에 각기 다른 강도 값이 있을 때, 그 값마다 다른 색을 입히면 더 명확하게 차이를 볼 수 있다.
강도 값을 적절히 나눠서 색을 입히면, 눈에 보이지 않던 정보들이 드러나는 거다.
마지막으로 색 보정을 통해 이미지의 색상을 더 자연스럽게 보이도록 만드는 White Balancing을 소개하겠다.
간단하게 말하자면, White Balancing은 이미지의 색 강도(intensities)를 전체적으로 조정해서, 원래 중립적으로 보여야 할 물체(흰색 물체나 그레이톤 물체)가 실제로도 그렇게 보이도록 만들어주는 작업이다.
예를 들어, 조명이 따뜻하거나 차가운 색을 띌 때 실제 흰색이 노랗게 또는 파랗게 보일 수 있다.
그래서 그걸 교정해서, 진짜 흰색처럼 보이게 하는 거다.
그럼 이 White Balancing은 어떻게 이루어질까?
R, G, B 값을 각각 R', G', B' 로 변환하면서 각 성분을 255로 스케일링해서 조정하는 거다.
이렇게 하면 특정 물체가 원래 중립색으로 보여야 할 때, 실제로 그 색에 가깝게 보이게 만들어준다.
그럼 이 White Balancing은 왜 중요할까?
카메라나 조명 환경에 따라서 색상이 왜곡될 수 있는데, 이걸 보정하지 않으면 비자연스럽고 이상한 색상으로 보일 수 있다.
그래서 White Balancing을 통해 조정해 주면 더 정확하고 자연스러운 색상을 얻을 수 있다.
Color Checker를 이용한 White Balancing도 있다.
Color Checker는 여러 가지 표준 색상이 배열된 차트를 말하는데, 이걸 사용하면 이미지에서 색상이 얼마나 정확한지 평가할 수 있다.
어떻게 사용되냐면,
Color Checker를 이미지 촬영 시 함께 두고, 촬영된 이미지에서 색상 비교를 할 수 있다.
다음과 같은 것을 Color Checker라고 한다.
White Balancing을 할 때 사용하는 기본적인 가정이 하나 있는데, Gray World Assumption (회색 세계 가정)가 있다.
Gray World Assumption에 따르면, 잘 균형 잡힌 이미지에서는 모든 색상의 평균이 중립적인 회색으로 나타나야 한다는 거다.
쉽게 말하면, 모든 색의 조합이 회색으로 보인다면 이미지가 제대로 균형 잡혀 있다는 뜻이다.
그래서, 이미지의 모든 색상들의 평균을 구하고, 그 값을 기준으로 색상 밸런스를 조정하는 방법이다.