πŸ“˜ Programming/OpenCV

[μ˜μƒ 처리] 컬러 λͺ¨λΈ ( RGB, CMY, HSI )κ°„μ˜ 관계와 λ³€ν™˜

ν•œμ½”λ”© 2020. 12. 28. 22:03
728x90
728x90

컬러 λͺ¨λΈ 색을 ν‘œν˜„ν•˜κ³ μž ν•˜λŠ” 방식이라 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λŒ€ν‘œμ μœΌλ‘œ RGB, CMY, HSIκ°€ μžˆμŠ΅λ‹ˆλ‹€.

RGB 컬러 λͺ¨λΈ

​

RGB 컬러 λͺ¨λΈμ€ λΉ¨κ°•, 초둝, νŒŒλž‘μ΄λΌλŠ” 3가지 색상 값을 μ΄μš©ν•΄μ„œ 색을 ν‘œν˜„ν•©λ‹ˆλ‹€.

색을 ν˜Όν•©ν• μˆ˜λ‘ 색이 λ°μ•„μ§€λŠ” 가산체계(Additive System)을 μ‚¬μš©ν•©λ‹ˆλ‹€.

​

1) RGBλ₯Ό 같은 λΉ„μœ¨λ‘œ ν˜Όν•© → κ°€μž₯ 밝은 흰색

Red(1, 0, 0) + Green(0, 1, 0) + Blue(0, 0, 1) = White(1, 1, 1)

​

2) 빨강색 + μ΄ˆλ‘μƒ‰ → λ…Έλž€μƒ‰

Red(1, 0, 0) + Green(0, 1, 0) = Yellow(1, 1, 0)

​

3) μ΄ˆλ‘μƒ‰ + νŒŒλž€μƒ‰ → 청둝색

Green(0, 1, 0) + Blue(0, 0, 1) = Cyan(0, 1, 1)

​

4) νŒŒλž€μƒ‰ + 빨강색 → μžν™μƒ‰

Red(1, 0, 0) + Blue(0, 0, 1) = Magenta(1, 0, 1)

CMY 컬러 λͺ¨λΈ

CMY 컬러 λͺ¨λΈμ€ 청둝(Cyan), μžν™(Magenta), λ…Έλž‘(Yellow) 이 3가지 색상 값을 μ΄μš©ν•΄μ„œ 색을 ν‘œν˜„ν•©λ‹ˆλ‹€.

RGB 컬러 λͺ¨λΈμ—μ„œ λŒ€κ°μ„ μœΌλ‘œ λ§ˆμ£Όλ³΄λŠ” μƒ‰μœΌλ‘œ ν‘œν˜„ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

RGB와 λ‹€λ₯Έ 점은 3가지 색을 λͺ¨λ‘ ν˜Όν•©ν•˜λ©΄ κ°€μž₯ μ–΄λ‘μš΄ 검정색이 λ‚˜μ˜€λŠ” 감산체계(Subtractive System)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

RGB와 CMYμ™€μ˜ 관계

RGB 컬러 λͺ¨λΈκ³ΌλŠ” λ°˜λŒ€μ— 곡간에 μœ„μΉ˜ν•˜λŠ” CMY 컬러 λͺ¨λΈμ€ 보색(Complement) 관계λ₯Ό ν˜•μ„±ν•©λ‹ˆλ‹€.

청둝색 - 빨강색, μžν™μƒ‰ - λ…Έλž‘μƒ‰, λ…Έλž‘μƒ‰ - νŒŒλž‘μƒ‰μ€ λͺ¨λ‘ 보색 κ΄€κ³„μž…λ‹ˆλ‹€.

​

보색 관계이기 λ•Œλ¬Έμ— 두 컬러 λͺ¨λΈκ°„μ˜ λ³€ν™˜μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.

​

1) RGB → CMY ( CMY = 1 - RGB )

2) CMY → RGB ( RGB = 1 - CMY )

HSI 컬러 λͺ¨λΈ

μ΄λ ‡κ²Œ RGB와 CMYκ°„μ˜ 관계λ₯Ό λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ, 이 두 컬러 λͺ¨λΈμ€ λ‹€λ₯Έ μ˜μƒ 처리 μ‘μš©μ— ν•œκ³„κ°€ μžˆμŠ΅λ‹ˆλ‹€.

​

1) RGB 컬러 μš”μ†Œλ“€μ˜ μƒν˜Έ 관계가 λ„ˆλ¬΄ μ»€μ„œ νŠΉμ • μƒ‰μƒλ§Œ 뢄리가 μ–΄λ ΅λ‹€

2) RGB와 CMY 컬러 λͺ¨λΈμ€ λ””μŠ€ν”Œλ ˆμ΄ μž₯μΉ˜μ™€ 인쇄μž₯치용으둜 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ λ§Œλ“€μ—ˆλ‹€

3) HSI λͺ¨λΈμ€ μ‚¬μš©μžκ°€ 더 μ‰½κ²Œ 색을 지정할 수 있게 ν•œλ‹€

​

​

HSI 컬러 λͺ¨λΈμ€ 색상, 채도, λͺ…λ„λ‘œ κ΅¬λΆ„ν•˜λŠ” 컬러 κ³΅κ°„μž…λ‹ˆλ‹€.

인간 μ‹œκ° μ‹œμŠ€ν…œκ³Ό μœ μ‚¬ν•˜λ‹€λŠ” μž₯점으둜 μ˜μƒ μ²˜λ¦¬μ— μœ μš©ν•˜κ²Œ μ‚¬μš©λ©λ‹ˆλ‹€.

​

1) 색상(Hue)

- 'λΉ¨μ£Όλ…Έμ΄ˆνŒŒλ‚¨λ³΄' λ“±κ³Ό 같은 λ‹€λ₯Έ 색과 ꡬ별 될 수 μžˆλŠ” μƒ‰μ˜ λͺ…μΉ­μ΄λ‚˜ μƒ‰μ˜ νŠΉμ„±, μƒ‰μ˜ ꡬ뢄, μˆœμˆ˜μƒ‰(Pure Color)

​

μ•„λž˜λŠ” 색상을 λ³€ν™˜ν•œ κ²°κ³Όμž…λ‹ˆλ‹€.

​

2) 채도 (Saturation)

- 색을 ν‘œν˜„ν•  λ•Œ 'μ—°ν•˜λ‹€', 'μ§„ν•˜λ‹€', 'νƒν•˜λ‹€' λ“±κ³Ό 같은 정도λ₯Ό λ‚˜νƒ€λƒ„

- 흰색과 μˆœμˆ˜μƒ‰μ˜ ν˜Όν•© λΉ„μœ¨(0 ~ 100%)을 의미

​

μ•„λž˜λŠ” 채도λ₯Ό λ³€ν™˜ν•œ κ²°κ³Όμž…λ‹ˆλ‹€.

​

3) λͺ…도 (Intensity)

- μƒ‰μ˜ 밝고 μ–΄λ‘μ›€μ˜ 정도인 λͺ…μ•”(ζ˜Žζš—)을 ν‘œν˜„

RGB와 HSI의 관계

λ§ˆμ°¬κ°€μ§€λ‘œ, RGB 컬러 λͺ¨λΈμ—μ„œ HSI 컬러 λͺ¨λΈλ‘œ λ³€ν™˜μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.

μ•„λž˜λŠ” λ³€ν™˜ κ³΅μ‹μ΄μž, HSI 컬러 λͺ¨λΈμ„ κ΅¬ν•˜λŠ” κ³΅μ‹μž…λ‹ˆλ‹€.

​

채도λ₯Ό κ΅¬ν•˜λŠ” 곡식을 μœ μ‹¬νžˆ 보면, RGB 값이 λͺ¨λ‘ κ°™μœΌλ©΄ μ±„λ„λŠ” 0μ΄λ©λ‹ˆλ‹€.

채도가 0이면 무채색이라고 ν‘œν˜„ν•©λ‹ˆλ‹€. 즉, 색상 값을 μ •ν•  μˆ˜κ°€ μ—†κ²Œ λ©λ‹ˆλ‹€.

​

ν•˜μ§€λ§Œ, 색상과 채도 값에 관계없이 독립적인 μ˜μƒμ˜ λͺ…도λ₯Ό 뢄리할 수 μžˆμŠ΅λ‹ˆλ‹€.

흑백 μ˜μƒ 처리의 경우, νžˆμŠ€ν† κ·Έλž¨ μ—°μ‚°, λͺ…도 λ³€ν™˜, νšŒμ„  등에 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.

컬러 μ˜μƒ 처리의 경우, 인간 μ‹œκ°μ‹œμŠ€ν…œ νŠΉμ„±κ³Ό μœ μ‚¬ν•©λ‹ˆλ‹€.

728x90
λ°˜μ‘ν˜•