[python] OpenCV를 사용하여 이미지에서 특정 색상 필터링하기

이미지 처리에 많이 사용되는 OpenCV를 사용하면 쉽게 이미지에서 특정 색상을 필터링할 수 있습니다. 이 글에서는 Python을 사용하여 OpenCV를 이용하여 이미지에서 특정 색상을 필터링하는 방법을 알아보겠습니다.

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

먼저, OpenCV를 사용하기 위해 필요한 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치합니다.

pip install opencv-python

이미지에서 특정 색상 필터링하기

다음은 이미지에서 특정 색상을 필터링하는 방법입니다.

import cv2
import numpy as np

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

# 이미지를 BGR에서 HSV로 변환
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

# 특정 색상의 범위를 설정
lower_color = np.array([0, 50, 50])
upper_color = np.array([10, 255, 255])

# 특정 색상의 범위 내에 있는 부분을 필터링
filtered_image = cv2.inRange(hsv_image, lower_color, upper_color)

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

위의 코드에서는 먼저 cv2.imread() 함수를 사용하여 이미지를 로드합니다. 그리고 이미지를 BGR에서 HSV로 변환하여 cv2.cvtColor() 함수로 저장합니다. 이후에 lower_colorupper_color 변수를 사용하여 필터링할 특정 색상의 범위를 설정합니다. 마지막으로 cv2.inRange() 함수를 사용하여 특정 색상의 범위 내에 있는 부분을 필터링합니다. 필터링된 이미지는 cv2.imshow() 함수를 사용하여 출력됩니다.

결론

OpenCV를 사용하면 이미지 처리 작업 중 특정 색상을 필터링하는 것이 매우 간편해집니다. 위의 코드를 이용하여 자신의 이미지에서 원하는 색상을 필터링해 보세요.

참고 자료