이 내용은 충남대학교 고영준 교수님의 영상 처리 강의를 듣고, 혼자 공부하기 위해 작성한 내용입니다.
Arithemetic operation (산술 연산)
1. Linear
- x/2 : 다른 픽셀과의 차이가 줄어 어두워짐. ( 대비 감소)
- 2x: 대비가 커짐.
- x/2 + 128 : 대비가 감소하지만 전체적으로 밝아짐.
대조
- double 형 : 0.0~1.0
- unit8 형 : 0~255
2. Non-linear
- 대비 차이가 non linear하게 증가하거나 감소함. ( 대비 : 주변 픽셀과의 차이 )
- 지수가 1 이하이면 그래프가 위로 볼록하고, 1 이상이면 아래로 볼록하다.
Histogram
: 픽셀값을 카운트해서 표로 나타낸 것
- 4번째 히스토그램처럼 퍼져 있는 히스토그램이 가장 이상적임
Histogram stretching
- 식을 통해 histogram을 선형으로 stretch
- 방법이 간단한만큼 효과가 좋지 않음
Gamma correction
Histogram Equalization(평활화)
- stretch 함수를 자동으로 만드는 함수를 만듦.
- 각 픽셀에 대해 mapping 작업을 하는 함수가 필요.
- 대략적인 화질 개선 가능
과정
- Histogram을 PDF로 간주하고 작성함. (이를 [0,1]로 정규화하는 과정이 필요함!)
- Histogram을 전체 픽셀 갯수로 나눠줌
- Histogram을 CDF로 변환함
- CDF 각 값에 최대 픽셀 값을 곱함 (denormalize)
- 각 값을 버림 계산함. 이 때 이 값이 매핑되는 픽셀값
- normalized input : 픽셀의 최댓값으로 나눠준 값
- histogram n: 주어진 픽셀 개수
- normalized histogram : 합이 1이 되게 하기 위해서 전체 합으로 나눠줌
- normalized output : 확률 누적
- denormalized output : 1보다 작은 값으로 나타난 확률 누적을 7을 곱해서 픽셀값으로 바꿔줌
- output gray level : 버림 연산으로 픽셀값 나타냄 (노란색 부분만 보면, 1이었던 것은 1로, 2였던 것은 1로 바꿔줌)
- output histogram : 전에 있던 픽셀들과, 바뀐 픽셀들을 합쳐 픽셀값을 나타냄