[python] 이미지에서 특정 색상 추출하기

이미지 처리는 컴퓨터 비전 분야에서 매우 중요한 작업 중 하나입니다. 여기서는 Python의 OpenCV 라이브러리를 사용하여 이미지에서 특정 색상을 추출하는 방법에 대해 알아보겠습니다.

필요한 라이브러리 설치하기

이 작업을 수행하기 위해 먼저 OpenCV 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install opencv-python

이미지에서 특정 색상 추출하기

다음은 이미지에서 특정한 색상을 추출하는 코드의 예제입니다.

import cv2
import numpy as np

# 이미지 파일을 로드합니다.
image = cv2.imread('image.jpg')

# BGR 색상 공간으로 이미지를 변환합니다.
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

# 추출하고자 하는 색상의 범위를 정의합니다.
lower_range = np.array([0, 50, 50])
upper_range = np.array([10, 255, 255])

# 추출하고자 하는 색상의 범위에 해당하는 부분을 마스크로 만듭니다.
mask = cv2.inRange(hsv_image, lower_range, upper_range)

# 원본 이미지와 마스크를 비트와이즈 연산하여 특정 색상만을 추출합니다.
result = cv2.bitwise_and(image, image, mask=mask)

# 추출된 이미지를 출력합니다.
cv2.imshow('Result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드에서는 먼저 이미지 파일을 로드한 후, BGR 색상 공간으로 변환합니다. 추출하고자 하는 색상의 범위를 정의한 후, 해당 범위에 해당하는 부분을 마스크로 만듭니다. 마지막으로, 원본 이미지와 마스크를 비트와이즈 연산하여 특정 색상만을 추출합니다.

이 예제는 파이썬과 OpenCV를 사용하여 이미지에서 특정 색상을 추출하는 기본적인 방법을 보여줍니다. 더 많은 색상 처리 작업을 수행하려면 OpenCV 라이브러리의 다양한 함수와 기능을 알아보시기 바랍니다.

참고 자료