Histogram Equalization에 대한 설명
히스토그램 평활화(Histogram Equalization)는 이미지의 contrast(명암대비)를 개선하기 위한 기법 중 하나임: Image Enhancement
- 일반적으로 이미지의 히스토그램이 특정 영역에 집중되어 있으면, 해당 이미지의 contrast가 낮다고 볼 수 있음: low contrast
- 반면, 히스토그램이 이미지의 전체 범위에 고르게 분포되어 있을 때, 그 이미지는 명암 대비가 좋다고 평가됨: High contrast
아래 그림의 경우와 같이 Histogram을 균일하게 해주는 작업을 Histogram Equalization이라고 부름.

관련 gist
https://gist.github.com/dsaint31x/ba25af517ac9807d3964709d12816384
dip_histogram_equalization.ipynb
dip_histogram_equalization.ipynb. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
1. 히스토그램과 명암 대비
- Histogram 은 이미지 내 각 픽셀의 밝기 값이 얼마나 자주 나타나는지를 보여주는 도구임.
- 명암 대비가 낮은 이미지는 히스토그램이 특정한 밝기 영역에 몰려있어, 전체 이미지의 밝기 차이가 적음.
- 반면, 명암 대비가 높은 이미지는 히스토그램이 고르게 분포되어 있어 밝기 차이가 큼.
2. Histogram Equlization 의 목적
Histogram Equlization (HE)은 히스토그램을 전체 밝기 범위(흔히, 0~255)로 균등하게 분포시키는 작업임.
이를 통해 이미지의 contrast를 자동으로 최적화하여 , 전체적인 시각적 선명도를 개선하는 것이 목적임.
3. HE의 원리
HE는 각 픽셀의 Cumulative Distribution Function (CDF)을 이용하여 구해짐.
CDF는 밝기 값이 특정 값 이하인 픽셀의 수를 누적하여 표현한 함수임.
이후 이 CDF 값을 다음의 히스토그램 평활화 공식에 대입하여 새로운 픽셀 값을 계산하게 됨.
dst(x,y)=round(Imax×cdf(src(x,y))N)
where:
- Imax 는 이미지의 최대 밝기 값(보통 255)임,
- cdf(src(x,y)) 는 원본 이미지 픽셀의 CDF 값임,
- N 은 총 픽셀 수임.
- cdt(g)=∑0≤i≤gH(i)
즉, 쉽게 설명하면
i-th pixel의 intensity xi의 Histogram 값은 xi의 발생빈도 ni임.
H(xi)=ni
이 경우, xi에 대한 probability mass function p는 다음과 같이 정의됨.
p(xi)=niN
보통의 uint8의 single channel의 gray-scale image라면 i=0,1,…,255임.
이 때, xi에 대한 HE의 결과값 si는 다음과 같음.
si=255×i∑k=0p(xk)=255×i∑k=0nkN, where k=0,1,…,255

4. 결론
히스토그램 평활화는 이미지 처리에서 매우 유용한 기법으로, 이미지를 더 선명하고 명확하게 만드는 데 기여함.
이는 주로 저명암 대비 이미지를 개선하는 데 사용되며, 히스토그램을 균일하게 분포시키는 원리를 통해 달성됨.
이 과정을 통해, 이미지의 픽셀 값들이 조정되고, 보다 고르게 분포된 히스토그램을 갖게 되어 최종적으로 명암 대비가 향상된 이미지를 얻을 수 있음.
같이보면 좋은 자료들
2024.10.07 - [Programming/DIP] - [DIP] Contrast Limited Adaptive Histogram Equalization (CLAHE)
[DIP] Contrast Limited Adaptive Histogram Equalization (CLAHE)
Global Histogram Equalization의 단점.Illumination이 불균일한 경우, 이미지에서 특정 부분은 밝고 특정 부분은 어두움.이 경우, Global Processing 기반의 Histogram Equalization은 효과가 좋지 못함. 아래 그림에서
dsaint31.tistory.com
2022.09.26 - [Programming/DIP] - [DIP] Local Contrast
[DIP] Local Contrast
Local constrast의 수식은 다음과 같다. C=It−IbIb It : Target의 intensity값. (흔히 Region of Interest를 이용하여 분석되며, 해당 영역에 속하는 모든 pixel intensity의 mean) Ib : Background의 intensity. (t
dsaint31.tistory.com
2023.10.04 - [Programming/DIP] - [DIP] Image Quality 관련 정량화 지표들
[DIP] Image Quality 관련 정량화 지표들
Image Quality 관련 정량화 지표들다음은 Image Restoration등에서 사용되는 Image Quality를 나타내는 정량적 지표들에 대한 간략한 소개임.(image acquisition에 사용된 장비의 성능의 비교에도 사용됨) 참
dsaint31.tistory.com
'Programming > DIP' 카테고리의 다른 글
[CV] Median Sensor Resolution in Consumer Cameras (0) | 2024.10.09 |
---|---|
[DIP] Histogram Stretching (0) | 2024.10.07 |
[DIP] Contrast Limited Adaptive Histogram Equalization (CLAHE) (0) | 2024.10.07 |
[DIP] Histogram Matching: Image Enhancement (1) | 2024.10.07 |
[DIP] Moirè (모아레) (and Beat) (3) | 2024.09.30 |