컴퓨터에 저장된 95% 아니, 많게는 99% 이상의 이미지들은 RGB(RED, GREEN, BLUE) 의 조합에 의해 구성된 픽셀(pixel)들입니다. 이번에는 사진에서 각각의 RGB 모드를 따로 분리를 해 보도록 하겠습니다. 사진 편집 프로그램을 다뤄본 사용자라면 각종 효과를 적용시켜 본 경험이 있을텐데요. 이 채널 분리도 그와 유사한 형태로 적용이 가능합니다. 각각의 RGB 를 얼마나 적용하느냐에 따라 사진의 색감이 달라지게 되니까요.
아래는 New York 의 Time Square 의 모습입니다. 원본 이미지.▼
이미지 처리 모듈인 '필로우'를 불러옵니다.▼
원본 이미지를 열어 new_york 변수에 저장을 합니다. 그리고 해당 이미지의 모드를 확인하니 RGB 라고 친절히 알려줍니다.▼
이렇게 알게된 세 가지 모드인 RGB 를 따로 분리하도록 하겠습니다. new_york에 저장된 이미지를 split() 메서드로 분리를 하고, 각각을 r, g, b 에 저장을 하였습니다.▼
원본 이미지와 각각의 R, G, B 모드의 이미지를 확인하기 위해 show() 메서드를 적용시킵니다.▼
R(Red) 모드의 이미지.▼
G(Green) 모드의 이미지. ▼
B(Blue) 모드의 이미지. ▼
상기의 이미지를 다시 한번 원본과 비교를 해보겠습니다. ▼
차이점이 눈(naked eyes)으로 구분이 가시나요? 우리가 흔히 알던 RGB 색상이 아니라서 조금 당황스러운가요? 이는 원색의 색상을 생각하셨기 때문입니다. 레드, 그린, 블루 의 색상을 표현하는데 8비트를 적용하면 각각 256가지의 단계가 있습니다. 전문가들이 사용하는 10비트를 적용하자면, 각각의 컬러는 1024단계가 있다는 의미입니다. 그럼 일반적으로 8비트를 사용하였을 때 3가지 조합으로 구성할 수 있는 색상은 256*256*256 = 16,777,216 컬러 표현이 가능합니다. 전문가들이 많이 사용하는 10 비트를 적용하면 1024*1024*1024 = 1,073,741,824 컬러 구현이 가능하게 됩니다.
글이 마음에 드셨나요?
로그인 없이 누구나 가능한
♥ 공감은 힘이 됩니다!