더북(TheBook)

6.2.1 밝기 조절

그레이스케일 영상에서 밝기brightness는 바로 각 픽셀의 그레이스케일 값에 대응된다. 즉, 그레이스케일 값이 커지면 밝기가 밝아지고 그레이스케일 값이 작아지면 밝기는 어두워진다. 그러므로 밝기 조절은 다음과 같은 수식으로 표현될 수 있다.

g(x, y) = f (x, y) + n

앞의 식에서 n은 조절할 그레이스케일 값의 정도를 의미한다. 만약 n이 양수이면 결과 영상의 밝기는 더욱 밝아지고, 음수이면 어두워진다.

그림 6-8은 영상의 밝기 조절 연산을 그래프 형태로 표현한 것이다. 그림 6-8(a) 그래프에서는 입력 그레이스케일 값에 비해 출력 그레이스케일 값이 모두 일정 크기(n)만큼 값이 증가하게 된다. 즉, 밝기 조절 수식에서 n이 양수인 경우를 표현한 그래프이며, 영상은 전체적으로 밝아지게 될 것이다. 그림 6-8(b)는 영상의 밝기 값이 전체적으로 작아지는 연산을 표현한 그래프이며, 결과적으로 영상은 전체적으로 어두워진다. 이때 주의해야 할 것은 밝기 조절 함수의 결괏값이 255보다 커지거나 0보다 작아지지 않도록 설정해야 한다는 점이다. 이는 영상의 픽셀 값을 표현할 때 BYTE, 즉 unsigned char 타입의 자료형을 사용하기 때문이다. 이에 대해서는 아래 실제 구현 함수에서 다시 한 번 설명하겠다.

그림 6-8 영상의 밝기 조절 함수의 그래프
(a) 밝기 증가
(b) 밝기 감소

그림 6-9는 lenna.bmp 영상에 대하여 밝기 조절 수행 결과를 보여준다. 그림 6-9(a)는 lenna.bmp 원본 영상이다. 그림 6-9(b)는 밝기를 64만큼 감소한 결과이며, 전반적으로 어두워진 것을 확인할 수 있다. 그림 6-9(b)는 밝기를 64 증가한 결과이며, 전반적으로 밝기가 밝아진 것을 볼 수 있다.

그림 6-9 영상의 밝기 조절의 예
(a) 입력 영상
(b) 밝기 -64 조절
(c) 밝기 +64 조절
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.