[python] OpenCV를 사용하여 이미지에서 동영상에서 색상 검출하기

이번 블로그 포스트에서는 Python에서 OpenCV를 사용하여 이미지에서 동영상에서 색상을 검출하는 방법을 알아보겠습니다.

필요한 패키지 설치

먼저, OpenCV를 사용할 수 있도록 다음 명령어를 사용하여 필요한 패키지를 설치해야 합니다.

pip install opencv-python
pip install opencv-contrib-python

코드 작성

다음은 OpenCV를 사용하여 색상을 검출하는 간단한 예제 코드입니다.

import cv2
import numpy as np

# 동영상 파일 열기
cap = cv2.VideoCapture('video.mp4')

# 색상 범위를 정의합니다. 여기서는 파란색을 검출하도록 하겠습니다.
lower_blue = np.array([100, 50, 50])
upper_blue = np.array([130, 255, 255])

# 반복해서 프레임을 읽어오고 색상을 검출합니다.
while(cap.isOpened()):
    ret, frame = cap.read()

    # 프레임 크기를 축소합니다.
    frame = cv2.resize(frame, None, fx=0.5, fy=0.5)

    # BGR을 HSV로 변환합니다.
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

    # 색상을 검출합니다.
    mask = cv2.inRange(hsv, lower_blue, upper_blue)

    # 검출된 색상을 원본 이미지에 표시합니다.
    result = cv2.bitwise_and(frame, frame, mask=mask)

    # 결과를 출력합니다.
    cv2.imshow('Color Detection', result)

    # 'q' 키를 눌렀을 때 종료합니다.
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 작업을 마치고 창을 닫습니다.
cap.release()
cv2.destroyAllWindows()

실행

위 코드를 실행하면 동영상에서 파란색을 검출할 수 있습니다. 파란색으로 검출된 부분은 원본 이미지에서 보여지고, 다른 부분은 검은색으로 처리됩니다.

결론

OpenCV를 사용하여 이미지에서 동영상에서 색상을 검출하는 방법을 알아보았습니다. 이를 통해 다양한 색상을 검출하는 애플리케이션을 개발할 수 있습니다.

참고 자료