[python] 파이썬을 사용한 영상 보정 기법

이 문서에서는 파이썬을 사용하여 영상 보정 기법에 대해 알아보겠습니다. 영상 보정은 원본 영상의 색상, 밝기 등을 조정하여 영상의 품질을 개선하는 작업입니다. 파이썬은 강력한 영상 처리 라이브러리인 OpenCV를 지원하므로 영상 보정을 쉽게 할 수 있습니다.

컬러 보정

그레이스케일 변환

영상의 색상을 보정하는 가장 기본적인 방법 중 하나는 컬러 공간을 변환하여 그레이스케일 영상으로 변환하는 것입니다. 파이썬에서는 OpenCV의 cvtColor 함수를 사용하여 쉽게 할 수 있습니다. 다음은 예시 코드입니다.

import cv2

image = cv2.imread("input.jpg")
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("Grayscale Image", gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

색감 보정

영상의 색감을 보정하는 방법은 여러 가지가 있습니다. 가장 간단한 방법은 각 픽셀의 색상값에 일정한 값을 더하거나 뺌으로써 색감을 조정하는 것입니다. 예를 들어, 파이썬에서는 다음과 같이 픽셀 값을 더하여 밝은 색감을 보정할 수 있습니다.

import cv2
import numpy as np

image = cv2.imread("input.jpg")
brightened_image = image + np.array([50, 50, 50])
cv2.imshow("Brightened Image", brightened_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

밝기 보정

채도 조정

영상의 채도를 조정하여 밝기를 보정하는 것은 영상 보정에서 중요한 요소입니다. 파이썬에서는 OpenCV의 adjustSaturation 함수를 사용하여 간단하게 채도를 조정할 수 있습니다. 다음은 예시 코드입니다.

import cv2

image = cv2.imread("input.jpg")
saturation_adjusted_image = cv2.convertScaleAbs(image, alpha=2.0, beta=0)
cv2.imshow("Saturation Adjusted Image", saturation_adjusted_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

감마 보정

감마 보정은 영상의 밝기를 조정하는 방법 중 하나로, 색상값을 일정한 감마값으로 제곱하여 변환하는 과정입니다. 파이썬에서는 다음과 같이 감마값을 조정하여 영상을 보정할 수 있습니다.

import cv2
import numpy as np

gamma = 2.0
lookup_table = np.array([((i / 255.0) ** (1.0 / gamma)) * 255
                        for i in np.arange(0, 256)]).astype("uint8")

image = cv2.imread("input.jpg")
gamma_corrected_image = cv2.LUT(image, lookup_table)
cv2.imshow("Gamma Corrected Image", gamma_corrected_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

위 코드에서 gamma 변수를 적절히 조정하여 감마값을 조절할 수 있습니다.

결론

이 문서에서는 파이썬을 사용하여 영상 보정 기법에 대해 알아보았습니다. 영상 보정은 영상의 색상, 밝기 등을 조정하여 영상의 품질을 개선하는 중요한 작업입니다. 파이썬의 영상 처리 라이브러리인 OpenCV를 활용하면 쉽게 영상 보정을 할 수 있으며, 위 예시 코드를 참고하여 다양한 기법을 활용할 수 있습니다.