본문 바로가기
Edu/07. OpenCV

기본영상처리: 명암대비(contrast)

by Lacuna028 2021. 8. 25.

명암대비

- 명암비/대비란?

: 밝은 부분과 어두운 부분 사이의 "밝기의 정도 차이"

영상이 전체적으로 밝은 픽셀들로만 구성되어 있거나 어두은 픽셀들로 구성되어 있다면 그 영상은 "명암비가 낮다"

영상에 밝은 영역과 어두운 영역이 골고루 섞여있으면 그 영상은 "명암비가 높다"

명암비가 높은 영상은 뚜렷하고 선명한 느낌이 들며, 명암비가 낮은 영상은 객체 간의 구분이 되지 않아 흐릿한 느낌이 든다.

 

- 명암비를 위해 존재하는 함수는 따로 없음. 따라서 필요시 함수를 정의하여 사용.

- 예시

import cv2
import numpy as np

# 대비(명암비-constrast) 변환 함수 정의
def change_contrast(src_image, alpha=0):
    """
    대비를 변환하는 함수
    [parameter]
        src_image:ndarray - 대비를 변환할 이미지
        alpha: float - 대비를 조절하는 파라미터값. 
               0: 변화없음. 1: 대비를 높인다. , -0.5 대비를 낮춘다.
    """
    return np.clip((1.0+alpha)*src_image - 128.0*alpha, 0, 255).astype('uint8')
    
# 함수 적용
lenna = cv2.imread('images/Lenna.png')
lenna_c1 = change_contrast(lenna, alpha=1) # 대비 높임
lenna_c5 = change_contrast(lenna, alpha=-0.5) # 대비 낮춤

# 변환된 이미지 출력
cv2.imshow('src', lenna)
cv2.imshow('alpha=1', lenna_c1)
cv2.imshow('alpha=-0.5', lenna_c5)

cv2.waitKey(0)
cv2.destroyAllWindows()

'Edu > 07. OpenCV' 카테고리의 다른 글

이미지 색공간 변환: cvtColor  (0) 2021.08.27
기본영상처리: 밝기 조절(brightness)  (0) 2021.08.25
openCV 개요  (0) 2021.08.25