OpenCV Gamma Correction or Power Law Transform
Gamma Correction or Power Law Transform는 무엇일까?
디지털카메라 센서에 의해 기록된 이미지는 선형 이미지입니다. 즉, 한 장면에 두 개의 물체가 있고
한 물체가 다른 물체보다 두배 더 밝으면 센서는 강도도 두 배로 밝게 기록합니다. 그러나 인간의 눈은 동일한 방식으로 강도를
인식하지 않습니다. 이 예에서 밝은 물체는 눈에 1.5 배 더 밝게 보일 수 있습니다.
사람의 눈을 모방하기 위해 카메라 하드웨어는 비선형 곡선을 사용하여 센서에 의해 기록된 강도를 수정합니다!
이 곡선의 모양을 제어하는 매개 변수를 감마라고하므로 감마 보정이라고 합니다!
실제 실습으로 한 코드와 결과물을 보여드리겠습니다!
import cv2
import numpy as np
img = cv2.imread('data/images/candle.jpg',1)
# 감마 조정
gamma = 10.5
fullRange = np.arange(0,256)
lookupTable = np.uint8(255 * np.power((fullRange / 255.0),gamma))
output = cv2.LUT(img, lookupTable)
combined = np.hstack([img, output])
cv2.imshow("combined" ,combined)
cv2.waitKey()
cv2.destroyAllWindows()