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

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

필요한 패키지 설치하기

먼저, OpenCV를 설치해야 합니다. 아래의 명령을 사용하여 패키지를 설치해주세요.

pip install opencv-python

그리고 동영상 파일을 처리하기 위해 동영상 관련 패키지를 설치해줍니다.

pip install opencv-python-headless

동영상에서 객체 추적하기

아래의 코드는 동영상에서 객체를 추적하는 간단한 예제입니다.

import cv2

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

# 객체 추적을 위한 초기 설정
tracker = cv2.TrackerCSRT_create()

# 첫 프레임 읽기
ret, frame = video.read()

# 추적할 객체 선택하기
bbox = cv2.selectROI(frame, False)

# 객체 추적 초기화
tracker.init(frame, bbox)

while True:
    # 다음 프레임 읽기
    ret, frame = video.read()

    # 동영상이 끝날 경우 종료
    if not ret:
        break

    # 객체 추적하기
    success, bbox = tracker.update(frame)

    if success:
        # 추적 결과 표시하기
        x, y, w, h = bbox
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)

    # 추적 결과 동영상 출력하기
    cv2.imshow('Object Tracking', frame)

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

# 동영상 파일과 창 닫기
video.release()
cv2.destroyAllWindows()

위의 코드는 동영상 파일을 열고, 첫 프레임에서 객체를 선택한 뒤 해당 객체를 추적합니다. 추적 결과를 사각형으로 표시하고, 추적 동영상을 출력해줍니다.

결론

이번 포스트에서는 파이썬과 OpenCV를 사용하여 동영상에서 객체를 추적하는 방법을 알아보았습니다. 객체 추적은 컴퓨터 비전 분야에서 유용하게 사용되며, 다양한 응용 분야에서 활용할 수 있습니다.

더 많은 정보를 얻으려면 OpenCV 공식 문서를 참조해주세요.

#python #opencv