[파이썬] opencv-python 이미지의 재조명

이미지 처리는 컴퓨터 비전 분야에서 매우 중요한 요소입니다. 이미지의 재조명이란 이미지의 밝기를 변경하여 다양한 시각적 효과를 만들어내는 기술을 말합니다. OpenCV-Python은 이를 구현하는 데 사용할 수 있는 강력한 도구입니다.

이미지의 재조명 기법

1. 히스토그램 평활화 (Histogram Equalization)

히스토그램 평활화는 이미지의 전체적인 히스토그램을 균일하게 분포시키는 방법입니다. 이를 통해 어두운 영역과 밝은 영역의 대비를 향상시킬 수 있습니다. 다음은 OpenCV-Python을 사용하여 히스토그램 평활화를 적용하는 예제 코드입니다:

import cv2

# 이미지 로드
image = cv2.imread('input.jpg', cv2.IMREAD_GRAYSCALE)

# 히스토그램 평활화 적용
equalized_image = cv2.equalizeHist(image)

# 결과 이미지 출력
cv2.imshow('Equalized Image', equalized_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

2. 색감 보정 (Color Correction)

색감 보정은 색상 온도를 조절하여 이미지의 전반적인 색감을 변경하는 방법입니다. 이를 통해 이미지에 따뜻한 또는 차가운 색감을 부여할 수 있습니다. 다음은 OpenCV-Python을 사용하여 색감 보정을 적용하는 예제 코드입니다:

import cv2
import numpy as np

# 이미지 로드
image = cv2.imread('input.jpg')

# 색상 보정 매트릭스 생성
color_correction_matrix = np.array([[1.5, 0, 0], [0, 1, 0], [0, 0, 2]])

# 색감 보정 적용
corrected_image = cv2.transform(image, color_correction_matrix)

# 결과 이미지 출력
cv2.imshow('Corrected Image', corrected_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

3. 색감 강조 (Color Enhancement)

색감 강조는 이미지의 특정 색상을 강조하여 이미지의 시각적 효과를 향상시키는 방법입니다. 이를 통해 이미지의 특정 객체나 특정 색상을 더욱 돋보이게 만들 수 있습니다. 다음은 OpenCV-Python을 사용하여 색감 강조를 적용하는 예제 코드입니다:

import cv2
import numpy as np

# 이미지 로드
image = cv2.imread('input.jpg')

# 원하는 색상 범위 정의 (여기서는 파란색을 강조)
lower_blue = np.array([100, 0, 0])
upper_blue = np.array([255, 100, 100])

# 마스크 생성
mask = cv2.inRange(image, lower_blue, upper_blue)

# 색감 강조 적용
enhanced_image = cv2.bitwise_and(image, image, mask=mask)

# 결과 이미지 출력
cv2.imshow('Enhanced Image', enhanced_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

결론

OpenCV-Python을 활용하여 이미지의 재조명 기법을 구현할 수 있습니다. 히스토그램 평활화, 색감 보정, 색감 강조 등 다양한 기법을 조합하여 원하는 시각적 효과를 얻을 수 있습니다. 이러한 기법들은 이미지 처리와 컴퓨터 비전 분야에서 널리 활용되며, 다양한 응용 분야에서 유용하게 사용될 수 있습니다.