CV ‐ 2. Color Image Processing - waegari/waegari.github.io GitHub Wiki
컬러 이미지 프로세싱
1. 이미지 표현 방식
Bitmap(래스터) 표현
- 이미지를 그리드로 나누어 픽셀 단위로 표현
- 특징:
- 복잡한 색상, 음영, 형태 변화를 표현 가능
- 파일 크기가 큼
- 해상도가 고정됨 (확대 시 품질 저하)
- 구현이 비교적 쉬움
- 표기법: f(x, y) 또는 I[i, j], I[x, y]
Vector 표현
- 개별 픽셀 정보가 아닌 객체(원, 선, 사각형 등) 정보로 표현
- 특징:
- 단순한 선 그림, 도형, 음영만 표현 가능
- 효율적인 저장 공간 사용
- 유연한 크기 조절 가능 (품질 손실 없음)
- 구현이 상대적으로 어려움
2. 색상 기초 이론
-
색상은 물리적 현상이자 심리-생리학적 현상
-
가시광선은 전자기 스펙트럼에서 400nm~700nm 범위
-
인간이 인식하는 색상 = 물체에서 반사된 빛
-
색상 관련 물리적 양:
- Radiance: 광원에서 나오는 총 에너지량 (와트)
- Luminance: 관찰자가 광원에서 인식하는 에너지량 (루멘)
- Brightness: 주관적 측정이 어려운 명도 지각
-
인간의 눈은 약 6~7백만 개의 원뿔세포로 색상 감지
- 적색 감지: 65%
- 녹색 감지: 33%
- 청색 감지: 2%
3. 컬러 모델
RGB 컬러 모델
- 빛의 삼원색(Red, Green, Blue)을 기반으로 함
- 특징:
- 가산혼합: R+G+B = White
- 좌표계: (0,0,0) = 검정, (1,1,1) = 흰색
- 그레이스케일: R=G=B인 점들의 대각선
- 픽셀 깊이: 각 픽셀 표현에 사용되는 비트 수
- 풀컬러: 24비트 RGB (8비트/채널)
- Safe RGB 색상: 웹용으로 신뢰성 있게 표시 가능한 색상 모음
- 6^3 = 216가지 색상 (각 채널 6단계: 0, 51, 102, 153, 204, 255)
CMY(K) 컬러 모델
- 빛의 이차색, 또는 안료의 삼원색(Cyan, Magenta, Yellow)
- 하드카피 출력용으로 사용
- 변환 공식: [C, M, Y] = [1, 1, 1] - [R, G, B]
- CMYK: 검정(K)을 추가하여 더 깊은 검정색과 잉크 절약
HSI 컬러 모델
- 인간의 색상 인식 방식에 가까운 모델
- 구성 요소:
- Hue(색상): 색상 속성 (0°~360°)
- Saturation(채도): 색상의 순도 (0~1: 흰색→원색)
- Intensity(명도): 무채색 개념의 밝기
- RGB에서 HSI로 변환 시 주요 색상:
- Red: 0°
- Yellow: 60°
- Green: 120°
- Cyan: 180°
- Blue: 240°
- Magenta: 300°
4. 이미지 처리 방법
색상 픽셀 처리
- 색상 픽셀은 색상 공간의 벡터: c(x, y) = [R(x,y), G(x,y), B(x,y)]
- 색상 벡터 처리 방법:
- 컴포넌트별 처리: 각 색상 성분 독립적 처리
- 벡터 기반 처리: 색상 벡터 전체를 처리
컬러 모델과 이미지 처리
- 이론적으로는 어떤 컬러 모델에서도 모든 변환 수행 가능
- 실제로는 특정 연산이 특정 모델에 더 적합함
- RGB: 디스플레이, 컴퓨터 그래픽스
- CMY(K): 인쇄
- HSI: 이미지 처리, 인간의 색상 인식 방식과 유사
- 전통적 이미지 처리는 주로 그레이스케일 사용했으나, 딥러닝은 컬러 활용도 높음
특수 이미지 처리
Intensity Slicing (명도 슬라이싱)
- 그레이스케일 값의 특정 범위를 색상으로 매핑
- 응용: 방사선 영상, X선 용접 검사, 강우량 통계 시각화
여러 단색 이미지 결합
- 다중 스펙트럼 이미지 결합으로 새로운 정보 획득
- 예: 근적외선 이미지와 가시광선 이미지 결합
5. CIE XYZ 모델
- 1931년 CIE에서 정의한 표준 컬러 모델
- RGB를 XYZ로 변환하는 행렬:
[X] [0.431 0.342 0.178] [R] [Y] = [0.222 0.707 0.071] [G] [Z] [0.020 0.130 0.939] [B]
- 정규화된 3자극 값(x, y, z)이 색도 좌표 형성
- x+y+z=1이므로 x, y만으로 모든 색상 설명 가능
- 색상 가산성: 삼각형 내부의 모든 색상은 세 꼭지점 색상의 조합으로 생성 가능
- 모니터의 RGB 색역과 프린터의 색역이 다름
중요 암기 포인트
-
컬러 모델 간 변환 공식:
- RGB ↔ CMY: [C,M,Y] = [1,1,1] - [R,G,B]
- RGB → HSI 변환 단계와 공식
-
각 컬러 모델의 특징과 용도:
- RGB: 디스플레이, 디지털 이미지
- CMY(K): 인쇄, 하드카피
- HSI: 이미지 처리, 인간 인식 방식
-
색상 관련 물리량:
- Radiance, Luminance, Brightness의 차이
-
비트맵과 벡터 표현의 장단점:
- 표현 능력, 파일 크기, 해상도 의존성, 구현 복잡도
-
CIE XYZ 모델과 색도 좌표:
- 색상 가산성 원리
- 색역(gamut)의 개념
-
컬러 히스토그램 평활화:
- RGB 공간 vs HSI 공간에서의 차이점
-
픽셀 깊이와 색상 표현 관계:
- 24비트 RGB 풀컬러, safe RGB 색상(216색)
-
컬러 픽셀의 벡터 표현:
- 컴포넌트별 처리와 벡터 기반 처리의 차이
-
명도 슬라이싱 응용 사례:
- 방사선 영상, X선 검사, 강우량 시각화
-
이미지 처리 흐름:
- 획득 → 향상 → 복원 → 압축 → 분할 → 표현/설명 → 인식/해석
6. 색상 변환 세부 공식
RGB에서 HSI로의 변환 세부 단계
- RGB 값을 0~1 범위로 정규화
R' = R/255 G' = G/255 B' = B/255
- 최대값(Cmax), 최소값(Cmin), 차이(Δ) 계산
Cmax = max(R', G', B') Cmin = min(R', G', B') Δ = Cmax - Cmin
- Hue 계산:
H = { 0° if Δ = 0 60° × ((G'-B')/Δ mod 6) if Cmax = R' 60° × ((B'-R')/Δ + 2) if Cmax = G' 60° × ((R'-G')/Δ + 4) if Cmax = B' }
- Saturation 계산:
S = { 0 if Cmax = 0 Δ/Cmax if Cmax ≠ 0 }
- Value/Intensity 계산:
V = Cmax
7. 이미지 처리 기법 상세
Image Acquisition (이미지 획득)
- 다양한 카메라 유형:
- Video camera
- Infrared camera
- Range camera
- Line-scan camera
- Hyperspectral camera
- Omni-directional camera
Image Enhancement (이미지 향상)
- 시각적 품질 개선
- 응용 예: 의료 영상 품질 개선 (MRI, CT 등)
Image Restoration (이미지 복원)
- 열화된 이미지 원본 복구
- 영화 필름 복원, 오래된 사진 복원
Image Correction (이미지 보정)
- Geometric correction: 기하학적 왜곡 보정
- Radiometric correction: 방사선적 특성 보정
Image Warping (이미지 변형)
- 기하학적 변환을 통한 이미지 변형
- 응용: 영상 효과, 모핑, 파노라마 이미지
Image Segmentation (이미지 분할)
- 이미지를 의미 있는 영역으로 분할
- 객체 인식의 전처리 단계로 활용
8. 픽셀 처리 기법
픽셀 주소 지정 방법
- C 언어에서의 이미지 처리 기본 구조:
int i, j, k; int nr, // number of rows nc, // number of columns nchan; // number of channels for (i=0; i<nr; i++) { for (j=0; j<nc; j++) { for (k=0; k<nchan; k++) { // 픽셀 (i,j)의 k채널 처리 } } }
픽셀 이웃(Neighborhood) 개념
- 4-이웃: 상하좌우 픽셀들
- (i-1,j), (i,j-1), (i,j+1), (i+1,j)
- 8-이웃: 4-이웃 + 대각선 픽셀들
- 4-이웃 + (i-1,j-1), (i-1,j+1), (i+1,j-1), (i+1,j+1)
9. 컬러 이미지 처리 카테고리
Full-color Processing (풀컬러 처리)
- 컬러 센서나 장비로부터 획득한 완전한 컬러 이미지 처리
Pseudo-color Processing (의사 컬러 처리)
- 단색 이미지에 색상을 할당
- 과거에는 컬러 센서와 처리 하드웨어의 제약으로 많이 활용
- 그레이스케일 강도 범위에 색상 할당
10. 기타 이미지 처리 기법
Content-based Image Retrieval (내용 기반 이미지 검색)
- 이미지 내용(색상, 질감, 형태 등)을 기반으로 검색
Human Identification (인간 식별)
- 얼굴 인식, 지문 인식 등
Multi-sensor Data Fusion (다중 센서 데이터 융합)
- 여러 센서의 데이터를 결합하여 더 풍부한 정보 획득
Hexagonal Pixel (육각형 픽셀)
- 전통적인 사각 픽셀 대신 육각형 픽셀 사용
- 일부 응용에서 더 자연스러운 결과 생성
Steganography (스테가노그래피)
- 데이터 안에 다른 데이터를 숨기는 기술
- 이미지 내에 메시지나 정보 은닉
시험 대비 문제 유형 예상
객관식 문제 예상
-
"다음 중 HSI 컬러 모델에 대한 설명으로 틀린 것을 모두 고르시오."
- a) Hue는 색상의 속성을 나타낸다.
- b) Saturation은 색상의 순도를 의미한다.
- c) Intensity는 항상 R, G, B의 최댓값이다.
- d) HSI 모델은 인간의 색상 인식 방식과 유사하다.
-
"RGB 컬러 모델에서 CMY 모델로의 변환 공식으로 맞는 것을 모두 고르시오."
- a) [C,M,Y] = [1,1,1] - [R,G,B]
- b) [C,M,Y] = [R,G,B] - [1,1,1]
- c) [C,M,Y] = [1-R, 1-G, 1-B]
- d) [C,M,Y] = [B,R,G]
-
"다음 중 safe RGB 색상에 대한 설명으로 맞는 것을 모두 고르시오."
- a) 총 216가지 색상으로 구성된다.
- b) 각 채널은 6단계의 값을 가진다.
- c) 웹 브라우저에서 안정적으로 표시하기 위한 목적이다.
- d) 총 512가지 색상으로 구성된다.
주관식 문제 예상
-
"RGB 이미지에서 특정 픽셀의 값이 (R,G,B) = (255,0,0)일 때, 이를 HSI 컬러 모델로 변환한 값은? (계산 과정을 상세히 보이시오)"
-
"CIE XYZ 컬러 모델의 특징과 색도 좌표(chromaticity coordinates)의 개념을 설명하시오."
-
"bitmap 표현과 vector 표현의 차이점을 설명하고, 각각의 장단점을 비교하시오."
-
"다음 RGB 컬러 이미지를 HSI 모델로 변환한 후 명도(I) 채널만 히스토그램 평활화 처리를 한 뒤 다시 RGB로 변환하는 과정을 의사코드로 작성하시오."