[python] 파이썬으로 카메라에서의 색상 추출하기

이번에는 파이썬을 사용하여 웹캠에서 특정 색상을 추출하는 방법을 알아보겠습니다. OpenCV 라이브러리를 사용하여 실시간으로 카메라로부터 영상을 캡처하고, 지정한 색상의 객체만을 추출하는 프로그램을 만들어 볼 것입니다.

필요 라이브러리 설치

먼저, OpenCV와 NumPy 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 각 라이브러리를 설치할 수 있습니다.

pip install opencv-python
pip install numpy

파이썬 코드 작성

아래는 웹캠으로부터 영상을 받아들이고, 사용자가 지정한 색상의 객체를 추출하는 파이썬 코드의 예시입니다.

import cv2
import numpy as np

# 웹캠 영상을 받아들일 캡처 객체 생성
cap = cv2.VideoCapture(0)

# 사용자가 지정한 색상 범위
lower_blue = np.array([100, 50, 50])
upper_blue = np.array([130, 255, 255])

while True:
    # 웹캠에서 프레임 단위로 영상을 읽어들임
    ret, frame = cap.read()

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

    # 사용자가 지정한 색상 범위로 마스크 생성
    mask = cv2.inRange(hsv, lower_blue, upper_blue)

    # 마스크를 이용하여 추출된 영상 표시
    res = cv2.bitwise_and(frame, frame, mask=mask)

    # 결과 보여주기
    cv2.imshow('Original', frame)
    cv2.imshow('Result', res)

    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 캡처 객체와 윈도우를 해제
cap.release()
cv2.destroyAllWindows()

위 코드는 웹캠으로부터 영상을 실시간으로 받아들이고, 사용자가 지정한 파란색 범위의 객체만을 추출하여 보여줍니다.

실행 및 결과 확인

위 코드를 작성한 후, 실행하면 웹캠 영상이 뜨게 됩니다. 사용자가 정의한 색상 범위에 해당하는 물체를 가까이 하고 ‘q’를 누르면 프로그램이 종료됩니다.

이것으로 파이썬을 사용하여 웹캠에서의 색상을 추출하는 방법에 대해 알아보았습니다. OpenCV와 NumPy 라이브러리를 사용하면 실시간 비전 처리 애플리케이션을 만드는 것이 가능합니다.

참고: OpenCV 공식 문서