[파이썬] opencv-python 비디오의 색상 밸런스 조정

이 블로그 게시물에서는 OpenCV-Python을 사용하여 비디오의 색상 밸런스를 조정하는 방법에 대해 알아보겠습니다. 색상 밸런스 조정은 비디오의 각 프레임에 대한 밝기, 채도 및 색조 조정을 의미합니다. 이를 통해 비디오의 전반적인 색상 톤을 조정하고 개선할 수 있습니다.

OpenCV-Python의 설치

우선, OpenCV-Python을 설치해야 합니다. 아래 명령어를 사용하여 OpenCV-Python을 설치할 수 있습니다.

pip install opencv-python

비디오 파일 열기

먼저, OpenCV를 사용하여 비디오 파일을 엽니다. 아래 코드는 ‘video.mp4’라는 비디오 파일을 열고 읽습니다.

import cv2

cap = cv2.VideoCapture('video.mp4')

while True:
    ret, frame = cap.read()
    
    # 프레임이 없는 경우, 반복문에서 빠져 나갑니다.
    if not ret:
        break

    # TODO: 색상 밸런스 조정 코드 작성

    cv2.imshow('Video', frame)
    
    # 'q' 키를 누르면 반복문에서 빠져 나갑니다.
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 비디오 파일을 닫습니다.
cap.release()
cv2.destroyAllWindows()

색상 밸런스 조정

이제, 색상 밸런스를 조정하는 코드를 작성해 보겠습니다. 색상 밸런스 조정에는 여러 가지 방법이 있을 수 있으며, 다음은 간단한 예시입니다.

import cv2

cap = cv2.VideoCapture('video.mp4')

while True:
    ret, frame = cap.read()

    if not ret:
        break

    # 색상 밸런스를 조정합니다.
    # 예를 들어, 밝기를 증가시키고 채도를 감소시키는 코드입니다.
    frame = cv2.add(frame, 50)
    frame = cv2.convertScaleAbs(frame, alpha=0.5, beta=0.5)

    cv2.imshow('Video', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

위의 코드에서는 cv2.add() 함수를 사용하여 밝기를 증가시키고, cv2.convertScaleAbs() 함수를 사용하여 채도를 감소시킵니다. 색상 밸런스를 조정하기 위해 다양한 OpenCV 함수와 매개변수를 사용할 수 있으며, 여러 가지 방법을 시도해보는 것을 권장합니다.

이제 위의 코드를 실행하고 비디오 파일의 색상 밸런스가 어떻게 조정되는지 확인해보세요. 필요에 따라 색상 밸런스를 적절하게 조정하여 비디오의 시각적인 품질을 향상시킬 수 있습니다.

이로써 OpenCV-Python을 사용하여 비디오의 색상 밸런스를 조정하는 방법을 알아보았습니다. 추가적인 기능을 구현하거나 다른 색상 조정 기술을 사용하여 비디오의 시각적인 품질을 향상시킬 수 있습니다. OpenCV-Python의 다양한 함수와 매개변수를 사용하여 직접 시도해보세요!