힘들면 쉬었다 가자.

RGB -> HSI 변환 본문

프로그래밍/영상처리

RGB -> HSI 변환

오클라호마호 2011. 2. 24. 22:14

컴퓨터에서 사용되는 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
Comments