[python] OpenCV를 사용하여 이미지에서 동영상에서 특정 객체 추적하기

이미지 처리 및 컴퓨터 비전 작업에 가장 많이 사용되는 라이브러리 중 하나인 OpenCV는 다양한 기능을 제공하여 객체 추적, 얼굴 인식, 모션 검출 등 다양한 작업을 수행할 수 있습니다. 이번에는 OpenCV를 사용하여 동영상에서 특정 객체를 추적하는 방법을 알아보겠습니다.

1. OpenCV 설치

우선 OpenCV를 설치해야 합니다. 다음은 pip를 사용하여 OpenCV를 설치하는 명령어입니다:

pip install opencv-python

2. 동영상에서 특정 객체 추적하기

다음은 동영상에서 특정 객체를 추적하는 간단한 예제 코드입니다. 이 예제는 웹캠에서 영상을 읽어와서 원하는 객체를 추적하는 방법을 보여줍니다:

import cv2

# 웹캠에서 영상 읽기
cap = cv2.VideoCapture(0)

# 추적할 객체의 색상 범위 설정
lower_color = (0, 0, 0)
upper_color = (255, 255, 255)

while True:
    # 현재 프레임 읽기
    ret, frame = cap.read()
    
    # 프레임이 제대로 읽힌 경우
    if ret:
        # 영상 전처리 - 색상 공간 변환
        hsv_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
        
        # 객체 추적을 위한 색상 범위 적용
        mask = cv2.inRange(hsv_frame, lower_color, upper_color)
        
        # 객체 추적 결과 표시
        result = cv2.bitwise_and(frame, frame, mask=mask)
        
        # 화면에 결과 표시
        cv2.imshow("Object Tracking", result)
    
    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 작업 완료 후 리소스 해제
cap.release()
cv2.destroyAllWindows()

위 코드에서 lower_colorupper_color 변수에는 추적하고자 하는 객체의 색상 범위를 설정해야 합니다. 색상 범위는 HSV 색상 공간에서 지정됩니다. 여기서는 검정색부터 흰색까지의 범위로 설정했습니다.

3. 결과 확인하기

위 코드를 실행하면 웹캠 영상이 출력되며, 추적한 객체만이 색상으로 나타납니다. ‘q’ 키를 누르면 프로그램이 종료됩니다.

이제 OpenCV를 사용하여 동영상에서 특정 객체를 추적하는 방법에 대해 알게 되었습니다. 이를 응용하여 복잡한 객체 추적 및 다양한 영상 처리 작업을 수행할 수 있습니다.

참고 자료