본문 바로가기
Lecture/Image Information Processing

히스토그램 스트레칭

by YUNZEE 2023. 11. 2.
728x90
히스토그램 스트레칭(Histogram Stretching)

- 명암 대비를 향상시키는 연산

- 낮은 명암 대비를 보이는 이미지의 화질을 향상시키는 방법

- 명암 대비 스트레칭이라고도 함

- 히스토그램 스트레칭을 수행한 이미지는 모든 범위의 화소 값 포함

- 히스토그램은 이상적인 형태인 전 구간에 걸쳐 분포가 균일하게 넓힘

 

대표적인 2가지 방법

- 명암 대비 스트레칭(Contrast Stretching)

- 앤드-인 탐색 기법(End-in Search)

 

명암 대비 스트레칭

- 명암 대비가 낮은 이미지의 품질을 향상시키는 기술

- 특정 부분이나 가운데에 집중된 히스토그램을 모든 영역으로 확장

- 이미지이 모든 범위의 화소값을 포함하게 함

 

기본 명암 대비 스트레칭 공식

- User parameter: none

g(x, y) = (f(x, y) - low(f)/ hight(f) - low(f)) * (L-1)

 

f(x, y): 원 이미지의 화소의 밝기 값/ 주어진 값

g(x, y): 결과 이미지 화소의 밝기 값/ 결과

low(f): 히스토그램의 최저 밝기 값(=주어진 이미지의 최저 밝기 값)/ 최소값

hight(f): 히스토그램의 최고 밝기 값(= 주어진 이미지의 최고 밝기 값)/ 최대값

L: 이미지의 밝기 단계

 

명암 대비 스트레칭(4bit)의 예시

 - 4 비트

- L ( 밝기의 단계는 2^4 = 16(0~ 15))

- h = 4/ w = 5 (h*w =20)

- 최대값 16 / hight(f)

- 최소값 13 / low(f)

(명암 대비 스트레칭 공식에 왼쪽 수를 대입해서 문제를 풀면 오른쪽과 같은 결과가 나옴)

위에 표  f(x,y)를 보고 hist(f) 를 채워 넣은 것 g(x,y)를 보고 hist(g)도 채워 넣기

 

앤드-인 탐색(End - in Search )

- 일정한 양의 화소를 흰색이나 검은색으로 지정하여 히스토그램의 분포를 좀 더 균일하게 만듦

- 히스토그램이 전 구간에 분포하지만 특정 부분에 집중

- 최저와 최고의 밝기 값 부근은 아주 빈약한 이미지의 품질을 향상

 

앤드-인 탐색 수행 공식

- User parameter: 두 개의 임계 값(low, hight) 사용

g(x, y) = (f(x,y) - low(f)/ hight(f) - low(f)) * (L-1) 

에서 g(x,y) 값이 low(f) 보다 작으면 0 

그리고 hight(f) 크면  L-1 해줌

 

f(x, y): 원 이미지의 화소의 밝기 값/ 주어진 값

g(x, y): 결과 이미지 화소의 밝기 값/ 결과

low(f): user parameter (마음대로 지정한 수)

hight(f): user paramter (마음대로 지정한 수)

L: 이미지의 밝기 단계

 

앤드-인 탐색(4bit) 예제

low = 10, hight = 12

최대값보다 크다는 이유로 15 통일 최소값보다 작다는 이유로 0 통일

 

 - 4 비트

- L ( 밝기의 단계는 2^4 = 16(0~ 15))

- h = 4/ w = 5 (h*w =20)

- 최대값 12 / hight(f)

- 최소값 10 / low(f)

 

위에 표  f(x,y)를 보고 hist(f) 를 채워 넣은 것 g(x,y)를 보고 hist(g)도 채워 넣기

 

728x90