[DIP] (Global) Histogram Equalization

2024. 10. 7. 12:35·Programming/DIP
728x90
728x90

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 값을 다음의 히스토그램 평활화 공식에 대입하여 새로운 픽셀 값을 계산하게 됨.

 

$$\text{dst}(x, y) = \text{round}\left( I_{\text{max}} \times \frac{\text{cdf}(\text{src}(x, y))}{N} \right)$$

where:

  • $I_{\text{max}}$ 는 이미지의 최대 밝기 값(보통 255)임,
  • $\text{cdf}(\text{src}(x, y))$ 는 원본 이미지 픽셀의 CDF 값임,
  • $N$ 은 총 픽셀 수임.
  • $\text{cdt}(g) = \sum _{0\le i \le g} H(i)$ 

즉, 쉽게 설명하면

i-th pixel의 intensity $x_i$의 Histogram 값은 $x_i$의 발생빈도 $n_i$임.

$$H(x_i) = n_i$$

이 경우, $x_i$에 대한 probability mass function $p$는 다음과 같이 정의됨.

$$p(x_i) = \frac{n_i}{N}$$

보통의 uint8의 single channel의 gray-scale image라면 $i=0,1,\dots, 255$임.

이 때, $x_i$에 대한 HE의 결과값 $s_i$는 다음과 같음.

$$s_i = 255 \times \sum^i_{k=0} p(x_k) = 255 \times \sum^i_{k=0} \frac{n_k}{N}, \text{ where } k=0,1,\dots,255$$

 

top: original image and histogram, bottom: HE results


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=\frac{I_t-I_b}{I_b}$$ $I_t$ : Target의 intensity값. (흔히 Region of Interest를 이용하여 분석되며, 해당 영역에 속하는 모든 pixel intensity의 mean) $I_b$ : 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

 

728x90

'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
'Programming/DIP' 카테고리의 다른 글
  • [CV] Median Sensor Resolution in Consumer Cameras
  • [DIP] Histogram Stretching
  • [DIP] Contrast Limited Adaptive Histogram Equalization (CLAHE)
  • [DIP] Histogram Matching: Image Enhancement
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Private Life (15)
      • Programming (206)
        • DIP (116)
        • ML (35)
      • Computer (120)
        • CE (54)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    Python
    signal_and_system
    linear algebra
    signals_and_systems
    Probability
    SS
    Vector
    math
    SIGNAL
    Programming
    opencv
    cv2
    fourier transform
    Optimization
    numpy
    random
    Term
    ML
    function
    인허가제도
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[DIP] (Global) Histogram Equalization
상단으로

티스토리툴바