[python] 파이썬으로 이미지 컬러스플래시 효과 주기

이미지 처리를 위한 파이썬 라이브러리인 OpenCV를 사용하여 사진에 컬러 스플래시(Colour Splash) 효과를 주는 방법을 알아보겠습니다.

필요한 라이브러리 설치

먼저, 컬러 스플래시 효과를 주기 위해 다음과 같이 OpenCV를 설치해야 합니다.

pip install opencv-python

이미지를 로드하고 컬러 스플래시 효과를 주기 위해 Numpy 라이브러리도 필요합니다.

pip install numpy

이미지 처리 알고리즘

컬러 스플래시 효과를 주는 알고리즘은 기존 이미지의 색상을 그대로 유지하면서 원하는 부분에만 적용하는 것입니다. 이 알고리즘은 주어진 이미지에서 흑백 이미지를 만든 다음, 특정 색상의 부분만 컬러 이미지로 다시 적용하여 컬러 스플래시 효과를 출력합니다.

파이썬 코드 예시

import cv2
import numpy as np

def color_splash(image, mask):
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    ret, inverse_mask = cv2.threshold(gray, 3, 255, cv2.THRESH_BINARY)
    inverse_mask = cv2.merge((inverse_mask, inverse_mask, inverse_mask))
    splash = cv2.bitwise_and(mask, inverse_mask)
    return cv2.addWeighted(splash, 0.5, image, 0.5, 0)

image_path = 'input.jpg'
image = cv2.imread(image_path)
mask = image.copy()
color_splashed_image = color_splash(image, mask)

cv2.imshow('Color Splash', color_splashed_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

위 예시 코드에서 color_splash 함수는 컬러 스플래시 효과를 주는 함수입니다. 입력 이미지를 로드하여 이 함수에 전달하면, 효과가 주어진 이미지가 출력됩니다.

마치며

이렇게 하여 파이썬과 OpenCV를 사용하여 이미지에 컬러 스플래시 효과를 주는 방법을 알아보았습니다. 이미지 처리에 관심이 있는 분들에게 도움이 되기를 바랍니다.

참고 자료: