[python] 파이썬을 사용하여 카메라에서 객체 추적하기

이번에는 파이썬을 사용하여 카메라에서 객체를 추적하는 방법에 대해 알아보겠습니다. 객체 추적은 컴퓨터 비전 및 이미지 처리 분야에서 매우 중요한 기술로, 모션 추적, 객체 식별, 자동 주차 등 다양한 응용 프로그램에서 활용됩니다.

카메라에서 비디오 스트림 가져오기

먼저, OpenCV 라이브러리를 사용하여 카메라로부터 비디오 스트림을 가져와야 합니다. 다음은 카메라에서 비디오 스트림을 가져오고 화면에 표시하는 파이썬 코드의 예시입니다.

import cv2

camera = cv2.VideoCapture(0)  # 0은 기본 카메라를 나타냄

while True:
    ret, frame = camera.read()
    cv2.imshow('Video', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

camera.release()
cv2.destroyAllWindows()

객체 추적하기

이제, OpenCV의 객체 추적 기능을 사용하여 카메라에서 객체를 추적하는 방법에 대해 살펴보겠습니다. 다음은 파이썬 코드를 사용하여 객체를 추적하는 간단한 예시입니다.

import cv2

camera = cv2.VideoCapture(0)
tracker = cv2.TrackerCSRT_create()  # 추적 알고리즘 선택

ret, frame = camera.read()
bbox = cv2.selectROI('Video', frame)  # 추적할 객체를 선택

tracker.init(frame, bbox)

while True:
    ret, frame = camera.read()
    success, bbox = tracker.update(frame)

    if success:
        # 추적된 객체에 사각형 그리기
        (x, y, w, h) = [int(i) for i in bbox]
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)

    cv2.imshow('Video', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

camera.release()
cv2.destroyAllWindows()

마치며

카메라에서 객체를 추적하는 과정을 OpenCV 라이브러리를 사용하여 파이썬으로 구현하는 방법을 살펴보았습니다. 객체 추적은 보안 시스템, 자율 주행 자동차, 감시 시스템 등 다양한 분야에 적용될 수 있는 중요한 기술입니다.

더 많은 자세한 내용 및 다양한 객체 추적 알고리즘에 대한 정보는 OpenCV 공식 문서를 참고하시기 바랍니다.