Image enhance technique
2024. 5. 24. 00:54ㆍArtificial Intelligence/Computer Vision
Color
Coding methods for humans
RGB | CMY | HSI | YIQ |
검정색에 색상들을 더하는 additive system |
프린팅을 위한 subtractive system |
Hue(색조), Saturation(색 포화도), Intensity(밝기) |
압축에 적합함 |
Color histogram
- 이미지 전체의 특징을 표현한다.
- 사이즈를 정규화할 수 있으므로, 다른 이미지 히스토그램 간의 비교가 가능하다.
- HSI는 Hue(색조), Saturation(색 포화도), Intensity(밝기) 각각에 대해 히스토그램을 그릴 수 있다.

Contrast enhancing
Point Processing
- 픽셀의 정보만 이용해서 처리하며, 공간 정보를 활용할 수 없다.
- 2차원 상의 좌표의 범위를 Transformation function인 T를 통해 변환
G(x,y) = T(f(x,y)) - 함수 T로 로그 함수, 역 로그 함수 등을 사용하여 비선형 변환을 할 수 있다.
- Point Processing 기법 분류
산술 논리 연산 | 그레이 레벨 변환 | 히스토그램 프로세싱 |
+, - (영상 밝게 / 어둡게) ×, ÷ (영상 명암 높게 / 낮게) 평균 |
Image negative, Log transformation, Power-law transformation, Thresholding, Gray-level slicing, Bit-plane slicing, Contrast stretching |
Histogram equalization |
Power-law transformations
- Input gray level(r), Output gray level(s), γ(람다), 상수 c = 1
s = c × r^γ (γ>1: 영상 어두워짐, γ<1: 영상 밝아짐)
Contrast
- Contrast = (Imax - Imin) / (Imax + Imin)
- Mach Band: 서로 다른 광도가 인접해 있으면 경계 부분을 강조하여 보는 경향
- Contrast Stretching: 특정 부분이나 중앙에 명암값이 치우치는 히스토그램이 모든 범위의 화소값을 포함하도록 영상을 확장하는 것. 가우시안 분포를 가질 때 적용하기 좋음.
new pixel = (old pixel - low) * 255 / (high - low)

- 엔드인탐색: 일정한 양의 화소를 흰색 또는 검은색을 갖도록 지정하고, 치우친 화소들만 stretching.
(모든 범위의 명암값을 갖지만 히스토그램의 특정 부분에 화소들이 치우친 경우 적용하기 좋음.)
Histogram Equalization
- 2가지 조건
1. 출력 이미지는 모든 구간의 gray level 값(0~255)을 사용해야 한다.
2. 출력 이미지는 각각의 그레이 레벨에서 거의 동일한 픽셀 개수를 가져야 한다. - 단계
1. 이미지의 히스토그램 생성
2. 히스토그램의 누적합을 계산하여 look-up table 생성
3. look-up table을 이용하여 히스토그램 및 입력 이미지를 변형 (히스토그램은 uniform 하게 바뀜.) - 보통 histogram equalization을 적용하면 Contrast가 개선되지만, 색상이 많이 변형되는 문제가 있음.
→ 이미지를 HSI로 변환한 후, Intensity(밝기)에 대해서만 equalization을 진행하면 됨.
→ Contrast는 개선되고, Hue(색조)는 유지됨.
Noise filtering
Noise
- Salt and pepper noise: 흑백 픽셀이 무작위로 나타남.
- Impulse noise: 백색 픽셀이 무작위로 나타남.
- Gaussian noise: 가우시안 정규 분포 형태로 Intensity 변화가 나타남.
Smoothing
Smoothing
필터를 통해 노이즈를 필터링 함.
Filtering
- Convolution Mask(=Kernel)를 이용하여, 가중치에 따라 결과를 생성함.

- G = H * F

- 커널의 가중치 조합에 따라 다양한 목적을 달성할 수 있음.
- 3X3 Mean filter로 픽셀에 1/9씩 곱해서 평균을 계산하면, noise는 줄어들지만, 중요한 edge 정보가 손상됨.

- Gaussian kernel은 중앙에서 멀수록 더 적은 가중치를 줌. 해당 커널은 가우시안 함수의 근사.

- Mean filter는 윈도우 안에 들어오는 픽셀의 값들 중 중간값을 찾음.
- Mean filter 장점: Max, Min에 대응하는 Salt and Pepper noise를 제거하는데 효율적이며, edge 정보의 손상을 막음.
- Mean filter 종류: 필터 크기가 커질수록 sorting 비용이 커지므로, block 형태 외의 X 형태, 다이아몬드 형태도 사용함.

- Color Space에 대해 median filtering을 적용하려면, R, G, B 각각의 요소에 median filter를 적용하고 3개의 출력을 결합하면 됨. 단점은 컬러 요소들 간의 상관관계가 손실됨.
- High-Boost Filtering은 낮은 주파수를 가진 요소를 제거하지 않으면서, 높은 주파수를 가진 요소는 강조함.
Morphological operator
Gray level thresholding
foreground에 있는 물체를 background로부터 분리하는 것
Structuring element
형태학적 연산에서 사용되는 다양한 모양과 사이즈를 가진 mask
Dilation(팽창) ↔ Erosion(축소)
Dilation: growing 피처, 구멍이나 틈을 채움.
Erosion: shrinking 피처, 연결하는 부분을 제거하거나 크기를 축소함.

* 참고 자료
컴퓨터비전 강의자료(김은이 교수님)