이번에는 OpenCV-Python을 사용하여 영상의 밝기와 명암을 조절하는 방법을 살펴보겠습니다. OpenCV는 이미지 및 비디오 처리를 위한 강력한 라이브러리이며, 다양한 영상 처리 작업을 수행할 수 있는 기능을 제공합니다.
밝기 조절
영상의 밝기 조절은 각 픽셀의 밝기 값을 조정하여 영상의 전체적인 밝기를 변경하는 작업입니다. OpenCV는 픽셀 값에 대한 산술 연산을 지원하여 밝기를 조절할 수 있습니다. 아래는 간단한 예제 코드입니다.
import cv2
# 영상 로드
image = cv2.imread('image.jpg')
# 밝기 조정
brightened_image = image + 50 # 각 픽셀 값에 50을 더합니다.
# 결과 출력
cv2.imshow('Original Image', image)
cv2.imshow('Brightened Image', brightened_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
위의 코드에서 cv2.imread()
함수를 사용하여 이미지를 로드하고, +
연산을 통해 각 픽셀 값에 50을 더하여 밝기를 조정하였습니다. cv2.imshow()
함수를 사용하여 원본 이미지와 밝기가 조정된 이미지를 출력하고, cv2.waitKey()
함수를 사용하여 사용자의 키 입력을 대기한 후 창을 닫습니다.
명암 조절
명암 조절은 영상의 밝은 부분과 어두운 부분 사이의 컨트라스트를 조절하는 작업입니다. 이를 통해 영상의 명암을 개선하거나 특정 픽셀 값의 범위를 조절할 수 있습니다. 아래는 간단한 예제 코드입니다.
import cv2
import numpy as np
# 영상 로드
image = cv2.imread('image.jpg')
# 명암 조정
min_value = 50
max_value = 200
adjusted_image = np.clip((image - min_value) * (255 / (max_value - min_value)), 0, 255).astype(np.uint8)
# 결과 출력
cv2.imshow('Original Image', image)
cv2.imshow('Adjusted Image', adjusted_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
위의 코드에서 np.clip()
함수를 사용하여 픽셀 값을 특정 범위 내로 조정하고, astype()
함수를 사용하여 데이터 타입을 np.uint8
로 변환하여 영상을 보정합니다. 결과적으로 결과 이미지는 밝은 부분과 어두운 부분의 명암이 개선된 이미지로 출력됩니다.
이렇게 OpenCV-Python을 사용하여 영상의 밝기와 명암을 조절할 수 있습니다. 이를 응용하여 다양한 영상 처리 작업을 수행할 수 있으며, 필요에 따라 자신만의 코드를 작성해보세요.