반응형
Gamma Correction
- Gamma Correction(감마 보정)은 이미지 밝기를 보정하는 방법 중 하나이다.
- 감마 보정은 입력 값과 매핑된 출력 값 사이의 비선형 변환을 사용하여 밝기를 보정한다.
- 비선형이기 때문에 모든 픽셀에 대해 동일하지 않다.
γ(감마 값)이 γ < 1이면 원래 어두운 영역이 더 밝아지고 히스토그램이 오른쪽으로 이동한고, γ > 1이면 반대가 된다.
일반적인 밝기 보정과 차이점
일반적인 밝기 보정 공식은 다음과 같다.
각 픽셀에 a값을 곱하고, β값을 더하여 밝기를 조정한다.
일반적인 밝기 보정 공식으로 전반적인 밝기는 개선되었지만, 구름이 수치 포화로 인해 보이지 않게 되었다.
같은 그림에 감마 보정을 적용해보자.
감마 보정은 매핑이 비선형적이고 이전과 달리 수치 포화도가 없기 때문에 포화 효과를 덜 추가하는 경향이 있다.
OpenCV를 이용한 감마 보정
Mat lookUpTable(1, 256, CV_8U);
uchar* p = lookUpTable.ptr();
for( int i = 0; i < 256; ++i)
p[i] = saturate_cast<uchar>(pow(i / 255.0, gamma_) * 255.0);
Mat res = img.clone();
LUT(img, lookUpTable, res);
끝.
반응형
'Computer Vision > OpenCV' 카테고리의 다른 글
[OpenCV] cv::VideoCapture RTSP open failed. (0) | 2022.06.14 |
---|---|
[OpenCV] Optical Flow (0) | 2022.04.11 |
[OpenCV] Histogram Equalization (히스토그램 평활화) (0) | 2022.02.25 |
[OpenCV] Canny Edge (0) | 2021.04.05 |