파이썬으로 OpenCV를 이용하여 동영상에서 물체 추적하기

이번 포스트에서는 파이썬과 OpenCV를 사용하여 동영상에서 물체를 추적하는 방법에 대해 알아보겠습니다.

1. OpenCV 설치하기

첫 번째로 해야 할 일은 OpenCV를 설치하는 것입니다. 아래의 명령어를 사용하여 OpenCV를 설치할 수 있습니다.

pip install opencv-python

2. 동영상 불러오기

두 번째로는 OpenCV를 통해 동영상을 불러와야 합니다. 다음의 예제 코드를 참고하여 동영상을 불러오세요.

import cv2

cap = cv2.VideoCapture('동영상파일명.mp4')

3. 물체 추적하기

이제 실제로 물체를 추적해보겠습니다. OpenCV의 cv2.Tracker 클래스를 사용하여 물체를 추적할 수 있습니다. 아래의 예제 코드를 확인해보세요.

import cv2

cap = cv2.VideoCapture('동영상파일명.mp4')

# 물체 추적을 위한 Tracker 객체 생성
tracker = cv2.TrackerKCF_create()

# 첫 프레임을 읽어옴
ret, frame = cap.read()

# 추적할 물체를 선택
bbox = cv2.selectROI(frame, False)

# Tracker를 초기화하고 물체를 추적할 영역 설정
tracker.init(frame, bbox)

while True:
    # 프레임을 읽어옴
    ret, frame = cap.read()
    
    # 물체를 추적
    success, bbox = tracker.update(frame)
    
    # 추적 결과를 화면에 표시
    if success:
        x, y, w, h = [int(v) for v in bbox]
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
    
    # 동영상을 재생하는 창에 프레임을 출력
    cv2.imshow('Tracking', frame)
    
    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 사용한 자원을 해제
cap.release()
cv2.destroyAllWindows()

위의 코드를 실행하면 동영상 파일에서 선택한 물체를 추적하는 창이 표시됩니다. 물체가 움직일 때마다 추적 결과가 화면에 표시됩니다.

4. 마무리

이번 포스트에서는 파이썬과 OpenCV를 이용하여 동영상에서 물체를 추적하는 방법에 대해 알아보았습니다. OpenCV를 사용하면 다양한 컴퓨터 비전 작업을 수행할 수 있으며, 물체 추적도 그 중 하나입니다. OpenCV 공식 문서를 참고하여 더 다양한 기능을 알아보세요!

참고 자료:

#openCV #물체추적