힘들면 쉬었다 가자.
RGB -> HSI 변환 본문
반응형
컴퓨터에서 사용되는 RGB는 밝기에 민감하기 때문에 사람이 인지하는 색상과 차이가 있습니다.
영상처리를 위해서 RGB를 HSI포멧으로 변환하여 사용합니다.
(이미지 출처가 어디였는지 잘 기억이 안나네요-_-;)
수학적인 표현으로 하면 위와 같습니다.
아래는 대략적인 유사코드 입니다.
I = (R+G+B) / 3.0f
if(그레이스케일){
S = 0.0
H = 0.0
}
else{
S = 1.0f - (3.0f / (R+G+B)) * min(R, G, B)
angle = (R - 0.5f * G- 0.5f * B) / (float)sqrt((R-G) * (R-G) + (R-B) * (G-B));
H = (float)acos(angle);
H *= 57.29577951f // 각도값으로 변환(180/phi)
}
if(B>G) H = 360.0f - H
반응형
'프로그래밍 > 영상처리' 카테고리의 다른 글
[영상처리]Projection profile 개념 (1) | 2011.03.02 |
---|---|
RGB -> YCbCr로 변환 (0) | 2011.02.24 |
RGB -> Gray로 변환 (0) | 2011.02.24 |
색상 포멧의 종류 - RGB, CMY, YCbCr, HSI (0) | 2011.02.24 |