거듭제곱으로 밝기 바꾸기
입력 x가 0부터 1 사이이고 γ>0이며 이득을 1로 두는 y=x^γ를 생각하자. 0과 1은 그대로 남고 그 사이의 값은 지수에 따라 달라진다. γ가 1보다 작으면 중간 값들이 커지고 1보다 크면 작아진다. γ=1이면 같은 값을 반환한다. 여기서 밝기값은 물리적인 빛의 양이나 사람의 지각과 항상 같은 척도는 아니다.
두 지수의 예제
입력이 0.25일 때 γ=0.5이면 출력은 0.5이고 γ=2이면 0.0625다. γ=2를 적용한 0.0625에 다시 지수 0.5를 적용하면 0.25를 되찾는다. 정확한 실수 계산에서 두 지수의 곱이 1이기 때문이다. 중간에 값을 정수로 반올림하거나 범위를 잘라 냈다면 같은 복원을 보장할 수 없다.
지수와 범위의 관례
어떤 설명은 x^γ를, 다른 설명은 x^(1/γ)를 보정식으로 사용할 수 있어 같은 감마 숫자가 반대 효과를 낼 수 있다. 실제 변환식을 확인해야 한다. 8비트 값을 0부터 1로 맞춰 계산한 뒤 되돌리는 것과 원래 정수값에 그대로 거듭제곱하는 것은 다르다. 추가 이득을 주는 경우에는 출력 범위를 벗어나는 값도 검토한다.
대비 조정의 한계
감마 보정은 이미 잘려서 사라진 밝기 정보를 새로 복구하는 방법이 아니다. 어두운 영역을 드러내면서 잡음이나 양자화 간격도 두드러질 수 있다. 영상별 분포를 이용하는 히스토그램 평활화와 달리 고정된 거듭제곱 규칙을 적용하는 구성이다. 색상 채널을 처리하는 방식과 기존의 밝기 인코딩을 확인하고, 원하는 목적에서 세부와 색이 어떻게 변하는지 함께 살핀다.
관련 문서
히스토그램 평활화 / 거듭제곱 함수 / 양자화 (신호처리) / 이미지 처리 / 그레이스케일 / 동적 범위