컬러모델

5050·2021년 7월 29일
0

컴퓨터비전

목록 보기
12/15

이미 구현할 때에는 컬러 영상에도 적용을 했지만 컬러 영상이 흑백 영상과
어떻게 다르게 되어있는 지는 언급한 적이 없다.
컬러영상을 어떻게 나타내는 지 한 번 알아보자

RGB모델

가장 널리 사용되는 모델은 RGB모델이다.

컴퓨터에서는 이를 나타내기 위해 양자화한다.
길이가 1인 구간을 L개의 작은 구간으로 나누어 표현한다.
보통 1바이트를 사용해 256개의 구간으로 나눠 0~2555의 정수 값을 사용한다.
그러면 빨강 성분 256, 초록 성분 256, 파랑 성분 256으로 총 2563256^3개의 색상을
표현할 수 있다.
참고로 Opencv에서는 BGR의 순서로 나타나니 유의하자
rgb에서 grayscale로 가는 방법은

사람의 안구는 RGB에 다르게 반응해 아래처럼 가중치를 적용한다고 한다.

HSI모델

HSI는 RGB와는 다른 원리를 사용한다. RGB에선 조명이 밝아지면 세 요소의 값이
모두 커진다. 즉, 색상과 밝기가 RGB 세 개의 채널에 섞여있다.
HSI에서는 H,S가 생상의 정보를 나타내고, I는 밝기를 나타낸다.
Hue(색상), Saturation(채도), Intensity(밝기)의 약자이다.
HSI는 색상과 밝기가 분리되어 있으므로 조명의 변화가 심한 경우에는 I를 제외하고
HS 두 요소만을 대상으로 연산을 적용한다면 어느 정도 조명 변화에 대처할 수 있는
장점이 생긴다.

YUV모델

컬러 정보로 부터 밝기값과 색 신호를 분리하여 표현하는 컬러모델이다.
밝기는 Y, 파랑 U, 빨강 V를 통해 표현한다.
사람은 색상 정보보다 밝기 정보에 민감하다고 한다.
(녹색광에 가장 민감, 적색광에 덜민감 청색광에 가장 덜 민감) 그래서 UV의 정보를
축소시켜 사용하는 경우들이 있다. NV12 등 여러가지 모델이 있는데 그것은
자세히 다루진 않고 궁금할 때 찾아보자.
같은 컬러모델임에도 더 적은 정보로 표현하기에 유리하기 때문에 임베디드,
이미지 압축같은 곳에서 활용된다고 한다.

컬러 모델들은 흑백영상과 다르게 채널이 한 개가 아닌데 연산을 적용할 때에는
각 채널에 독립적으로 적용하여 연산을 수행하고 합치는 방법이 제일 간단하지만
모든 연산을 그렇게 하면 안된다. 이전 히스토그램 평활화에서도 컬러값에 동일하게
적용한다면 좀 이상한 결과를 얻었다. 평활화를 통해 밝기의 값이 골고루 퍼져 선명한
영상을 원한 것이지 색상이 골고루 분포하길 바란 것은 아니기 때문이다.

여튼 컬러모델이 여러 개이고, 영상마다 추출해야하는 정보들이 다를 수 있기 때문에
상황에 알맞는 컬러모델을 사용하는 것이 좋을 것 같다.

이미지 참조 : https://1coding.tistory.com/137, http://forum.falinux.com/zbxe/?document_srl=537154&mid=lecture_tip&page=4
내용 참조 : 컴퓨터비전(저자 오일석), https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ohjoungeun&logNo=221040871396, https://www.dynamsoft.com/blog/insights/image-processing/image-processing-101-color-space-conversion/

profile
하이

0개의 댓글