1️⃣ 그래픽 컬러 처리
💜 그래픽 컬러 처리
- 빛은 전자기파 (=Electromagnetic Wave)의 일종
- 빛 에너지 세기 = 전자기파 장의 세기
- 주파수 = 초당 몇 번이나 장의 세기가 바뀌었는가?
- 파장 = 1/주파수 (역의 관계)
- 가시 광선 파장 : 390nm – 720nm
💜 색상, 명도, 채도
- 우리가 색을 인식하는 과정
- 광원이 물체에 부딪히면 어떤 주파수 성분은 흡수, 어떤 주파수 성분은 반사
- 그 물체에서 반사된 빛이 눈으로 들어옴
- 광원이 물체에 부딪히면 어떤 주파수 성분은 흡수, 어떤 주파수 성분은 반사
- 우세 주파수
- 반사된 빛 중 가장 많은 에너지를 지닌 파장의 주파수
- 색상 : 우세 주파수의 색
- 여기서는 노랑임으로 색상은 노랑이 보일것
- 명도 : 파형 아래의 면적
- 색상에 무관하게 눈에 감지된 빛 에너지의 총량
- 어두움 - 밝음
- Ed
- 우세 주파수 기준으로 선정
- 색상에 무관하게 눈에 감지된 빛 에너지의 총량
- 채도 : Ed - Ew
- 색의 선명도 or 순도
- 색이 진함 - 연함
- 그림의 채도는 노랑의 채도
- 채도 증가법
- Ed 증가 or Ew 감소
- Ew 감소
- 명도 저하 (어둡게 보임), 색상 인식이 어려움
- Ew 감소
- Ed 증가 or Ew 감소
- 색의 선명도 or 순도
2️⃣ 컬러 모델
💜 RGB 컬러 모델 = 가산 모델
- 모델링에 있어 R, G, B를 x, y, z 축에 놓고 가중치에 따라 색을 정의
- 광원에서 나오는 빛의 합성으로 색을 만듬
- 색 범주는 상대적으로 제한됨
- 컴퓨터 화면에 재현하기 위해 실제 색상을 단순화 함
- ex. 컬러 모니터
- 컴퓨터 화면에 재현하기 위해 실제 색상을 단순화 함
- RGB 컬러 모델은 삼중 자극 이론 (Tri-Stimulus Theory) 에 따름
- 원추세포 (눈에 있는 색 분간 세포)가 가장 민감하게 반응 하는 색
- 파장 630nm (빨강), 530nm (녹색), 450nm (청색)
- 이 삼원색을 더하여 다른 색을 만들어냄
- 원추세포 (눈에 있는 색 분간 세포)가 가장 민감하게 반응 하는 색
- R+G = Y, G+B = C, B+R = M
- RGB의 보색은 CMY
💜 CMY 컬러 모델 = 감산 모델
- 빛이 물체 표면에 반사되었을 때의 모델
- ex. 컬러 프린터
- 잉크가 CMY로 이루어짐
- ex. 컬러 프린터
- 백색광이 입사되었을 때, 물체 표면에는 보색이 흡수됨
- W - G (Complement of Magenta) = R + B = Magenta
- (W - G) - R (Complement of Cyan) = Blue
- (W - G - R) - B (Complement of Yellow) = Black
- 이 모델에서 RGB는 CMY의 합성으로 표현
- C+M+Y = Black
- 반사되는 빛들이 없기 때문 (전부 흡수)
- W - R - G - B = Black
- C+M+Y = Black
💜 CMYK 컬러 모델
- K for Chromatic (회색 농도)
- C = 120, M = 80, Y = 200 == 400
- C = 40, M = 0, Y = 120, K = 80 == 200
- 회색도 추가 시 전체에 -80 가능
- CMY가 다 섞이면 어차피 검정, 공통되는 80을 회색값으로 빼버리는 것
- 장점
- 잉크 건조 시간, 잉크 비용 ↓
- 정밀한 회색 농도 표현
💜 HSV 컬러 모델
- RGB 모델 단점
- 직관적이지 않음
- 보라색이 각각 RGB가 얼마인지 바로 떠올리기 불가
- 직관적이지 않음
- HSV (Hue, Saturation, Value) or HSB (Hue, Saturation, Brightness)
- 색상(Hue), 채도(Saturation), 명도(Value, Brightness)
- 화가의 직관적인 생각을 위해 개발
- 셰이드(Shades) = 어떤 색상에 흑색을 섞음. 채도와 명도를 동시에 낮춤 (걍 참고)
- 틴트(Tints) = 어떤 색상에 백색을 섞음. 채도는 낮추고 명도는 높임 (걍 참고)
- 육각뿔
- 색을 각도로 유추
- H: 각도
- S: 명도 축에서 얼마나 멀리 떨어져 있는가?
- 멀리 떨어질 수록 채도 UP
- V: 명도 축
💜 HSV 컬러 모델 변형
- 원뿔형 HSV
- 색상을 둥글게 배치
- HLS
- 원뿔 2개를 붙임
- 명도 범위를 2배로 확장
3️⃣ 컬러 모드
💜 RGB 컬러 모드
- RGB 컬러 모드
- 컬러모델과는 별개의 개념
- 프레임 버퍼 내용이 직접적으로 R, G, B 값을 담고 있어, 색 결정
- 프레임 버퍼 용량 ↑ 색 정밀도와 종류 ↑
- 비트평면이 많을 수록 더 많은 색을 만들 수 있음
- ex. 3비트 평면
- G + B = Cyan
💜 인덱스 컬러 모드
- 컬러 번역기
- 프레임 버퍼 내용은 CLUT (Color Lookup Table, 컬러 보기표)의 인덱스
- 실제 컬러는 CLUT의 우측 칼럼에 의해 결정
- 칼럼에 비트를 할애해 주는 것
- 제한된 프레임 버퍼 용량으로 다양한 색을 표현하기 위해 사용
- 컬러 팔레트
- 인덱스 컬러모드에서 컬러 보기표가 나타내는 색의 집합
- 유사한 톤의 표현에 유리
- PNG, BMP, TGA, TIFF 지원
- 파일 내부에 팔레트 정보를 포함
- 컬러 룩업 테이블 저장
- 팔레트만 교체하면 같은 그림을 바로 다른 색으로 표현 가능
💻 Reference
'IT > 컴퓨터그래픽스' 카테고리의 다른 글
[Chapter 04] OpenGL로 배우는 3차원 컴퓨터 그래픽스 (0) | 2024.04.02 |
---|---|
[Chapter 02] OpenGL로 배우는 3차원 컴퓨터 그래픽스 (0) | 2024.04.02 |
[Chapter 01] OpenGL로 배우는 3차원 컴퓨터 그래픽스 (0) | 2024.04.01 |