본문 바로가기
공부/영상처리

[영상처리] 화질향상 - 감마보정

by 로디네로 2021. 1. 21.
반응형

 

요즘은 딥러닝으로 화질향상을 노리지만 이의 기초가 되는 것은 고전 영상처리 알고리즘에서의 화질향상 기법이다.

 

- waifu2x 같은 사이트에서 딥러닝으로 사진의 화질을 향상시키는 서비스를 제공한다.

 

용도에 따라서는 밝기와 명암비를 조절하는 것도 화질을 향상시킬 수 있겠지만 감마보정에서부터 시작하려고 한다.

 

 


 

핵심 : 감마보정은 비선형이다.

 

255가 최대값이면 128은 이의 절반의 밝기를 나타내야 할 것이다. 하지만 그렇지 않다.

 

비선형 전달함수를 사용해서 빛의 강도를 비선형적으로 변형하기 때문이다.

 

(감마 보정이라고 널리 쓰이나 감마 부호화라는 표현이 더 적절하다고 한다.)

 


 

목적 : 인간 시각의 비선형성에 맞춰 정보를 부호화

 

인간 시각은 그 어떤 카메라보다 명암차이를 매우 잘 구별하고, 색상, 해상도 차이에 민감하다.

 

색상이 변화하는 민감한 부분의 데이터를 보다 효율적으로 압축 전달하기 위해 개발되었고 발전했다.

 

정보 표현량 안에서 선형적으로 빛의 밝기를 기록한다면 사람의 눈이 보다 민감하게 반응하는 어두운 부분에서 밝기가 변할 때 posterization 이 발생한다. 따라서 비선형적으로 부호화해서 어두운부분을 더 자세히 기록하는 것이다. 

(인지민감도)

 

출처 : https://photonaturalist.com/3-ways-to-prevent-posterization/?

 

-------

 

또다른 목적으로는 예전 CRT 모니터의 비선형적 특징 때문였다고 한다.

 

출처 : https://thebook.io/006796/ch06/03/01

위의 사진을 보면 감마 보정을 한 뒤에 모니터에 나타내야 비로소 정확한 색상이 나타나짐을 알 수 있다. 모니터의 비선형 특징 때문이다.

 


 

구현

 

보정 방법이 계속해서 진화해 온 만큼 많은 함수들이 존재한다.

 

가장 기본적으로는

이 공식으로 나타낼 수 있을것이다.

 

y는 출력, x는 입력, M은 최대값(255), g는 감마값

 

matlab을 이용하는 방법도 있을 것이다. (kr.mathworks.com/help/images/gamma-correction.html)

 

 

반응형

댓글