[python] OpenCV를 사용하여 이미지에서 특정 색상 강조하기

OpenCV는 이미지 처리 및 컴퓨터 비전에 널리 사용되는 라이브러리입니다. 이를 사용하여 이미지에서 특정 색상을 강조하고 싶을 때 다음과 같이 할 수 있습니다.

코드 예시

import cv2
import numpy as np

# 이미지 파일 읽기
image = cv2.imread('image.jpg')

# BGR에서 HSV로 변환
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

# 강조하고자 하는 색상 범위 정의 (예: 초록색)
lower_green = np.array([40, 50, 50])
upper_green = np.array([80, 255, 255])

# 색상 범위에 따라 필터링
mask = cv2.inRange(hsv, lower_green, upper_green)

# 원본 이미지와 필터링된 이미지를 비트와이즈 AND 연산하여 색상 강조
highlighted_image = cv2.bitwise_and(image, image, mask=mask)

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

위 코드에서는 OpenCV의 cvtColor 함수를 사용하여 이미지를 BGR에서 HSV로 변환합니다. 그런 다음, inRange 함수를 사용하여 강조하고자 하는 색상의 범위를 정의하고, 해당 범위에 따라 이미지를 필터링합니다. 마지막으로, bitwise_and 함수를 사용하여 원본 이미지와 필터링된 이미지를 비트와이즈 AND 연산하여 강조된 이미지를 생성합니다.

참고 자료