6.2.2 명암비 조절
명암비는 그레이스케일 값의 밝은 부분과 어두운 부분의 차이를 의미한다. 명암비는 영어로 컨트라스트contrast라고 부르며, 대비라고 번역되기도 한다. 영상이 전체적으로 밝거나 어둡기만 하면 그 영상을 명암비가 작다라고 표현한다. 반대로 영상의 특정 부분은 밝고 다른 부분은 어두워서 두 부분의 차이가 잘 느껴지는 영상은 명암비가 높다고 이야기한다. 일반적으로 명암비가 높은 영상은 눈으로 보기에 더 선명하다고 느낀다.
앞서 설명한 밝기 조절은 그 구현 방식이 매우 직관적이어서 대부분의 서적 또는 기존 영상 편집 프로그램의 구현 방법이 거의 동일하다. 그러나 명암비 조절 방법은 매우 다양하게 존재할 수 있다. 기본적으로 밝기 조절이 덧셈 연산으로 이루어진다면, 명암비 조절은 곱셈 연산을 사용하여 구현할 수 있다. 가장 단순하게 명암비를 조절하는 방식은 픽셀 그레이스케일 값에 일정한 상수를 곱하는 것이다.
위 식에서 α가 1보다 큰 실수인 경우, 작은 그레이스케일 값은 그 값의 변화가 작고 큰 그레이스케일 값은 그 값이 급격히 커지게 된다. 예를 들어 α=1.5인 경우, 원본 영상에서 그레이스케일 값이 10이었던 픽셀은 그 값이 15가 되고, 그레이스케일 값이 100이었던 픽셀은 150으로 증가한다. 결국 두 픽셀 간의 그레이스케일 값 차이는 90에서 135로 증가하게 되는 효과가 있다. 다만 위 식을 사용할 경우, 영상이 전체적으로 밝아지는 현상이 나타나며, α값이 조금만 커지더라도 결과 영상의 전체 픽셀 값이 255로 포화되는 현상이 발생할 수 있다. 그러므로 원본 픽셀 값에 직접적으로 일정한 상수를 곱하는 방식은 그리 바람직하지 않다.
명암비를 효과적으로 높이기 위해서는 밝은 픽셀의 값은 더욱 밝게, 어두운 픽셀의 값은 더욱 어둡게 만들어주어야 한다. 픽셀이 밝고 어두운 정도를 구분하는 척도를 어떻게 정의하느냐가 구현 방식의 차이를 가져올 수 있다. 단순히 그레이스케일의 중간 값인 128을 기준으로 사용할 수도 있고, 입력 영상의 전체 그레이스케일 값의 평균을 사용할 수도 있을 것이다. 이 책에서는 조금은 단순한, 그레이스케일의 중간 값 128을 기준으로 픽셀 값을 조정하는 방식을 설명하도록 하겠다. 즉, 128보다 큰 값의 픽셀은 더욱 밝게, 128보다 작은 값의 픽셀은 더욱 어둡게 만들어줌으로써 명암비를 증가시키는 방식이다. 이를 수식으로 정리하면 다음과 같다.
위 수식에서 α는 명암비 조절의 정도를 결정하는 명암비 조절 상수이다. 만약 α=0이면 g(x, y)=f(x, y) 형태가 되기 때문에 입력 영상이 그대로 출력 영상이 된다. 만약 α가 0보다 작아지면 명암비가 감소되기 시작하며, α=-1이면 g(x, y)=128 형태로 명암비가 전혀 없는 회색 영상으로 변한다. 반면에 α가 0보다 큰 값을 가지면 명암비가 증가된다. 예를 들어 α=1이면, 그레이스케일 값이 128인 픽셀은 그대로 128이 되고, 138인 픽셀은 148가 되고, 158인 픽셀은 188로 증가하게 된다. 즉, 128보다 멀리 떨어져 있는 그레이스케일의 픽셀의 값이 더욱 많이 변하는 것을 알 수 있다.
위 수식을 그래프로 표현하면 그림 6-11과 같다. 그림 6-11(a)는 명암비가 줄어드는 변환을 나타내는 그래프이며, 이 그래프에서 α는 -1< α < 0 사이의 값을 갖는다. 그림에서 출력 영상의 픽셀이 가질 수 있는 그레이스케일 값의 범위(파란색 표시 영역)가 크게 줄어들었음을 볼 수 있다. 그림 6-11(b)는 α > 0인 경우를 나타내며, 명암비가 증가하는 변환이다. 이 그래프에서 명암비가 조절된 결괏값이 255보다 커지거나 0보다 작아질 경우, 그 값을 255 또는 0으로 결괏값을 고정시키고 있음을 볼 수 있다.