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

이번 포스트에서는 OpenCV를 사용하여 이미지에서 동영상에서 물체를 추적하는 방법에 대해 알아보겠습니다. 물체 추적은 컴퓨터 비전 분야에서 매우 중요한 기술로, 객체의 움직임을 모니터링하거나 추적하는 데 사용됩니다.

1. 필요한 패키지 설치하기

이 예제에서는 Python의 OpenCV 라이브러리를 사용하므로, 먼저 OpenCV를 설치해야 합니다. 아래의 명령어로 패키지를 설치할 수 있습니다.

pip install opencv-python

2. 이미지에서 물체 추적하기

먼저, OpenCV를 사용하여 이미지에서 물체를 추적하기 위해 다음의 단계를 따릅니다.

2.1. 이미지 불러오기

import cv2

# 이미지 파일 경로 설정
image_path = 'image.png'

# 이미지 불러오기
image = cv2.imread(image_path)

2.2. 객체 추적하기

# 객체 추적을 위한 Tracker 초기화
tracker = cv2.TrackerMOSSE_create()

# 추적할 객체의 위치 설정
bbox = cv2.selectROI(image, False)

# 추적 시작
tracker.init(image, bbox)

# 추적 루프
while True:
    # 새로운 프레임 읽기
    _, 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("Object Tracking", frame)
    
    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 창 종료
cv2.destroyAllWindows()

3. 결과 확인하기

위의 코드를 실행하면 이미지에서 물체가 추적되는 것을 확인할 수 있습니다. 추적된 물체 주위에 사각형이 그려지며, 프레임마다 추적된 객체의 위치가 업데이트됩니다.

이 예제는 이미지에서 물체를 추적하는 간단한 예제입니다. 더 복잡한 동영상에서의 객체 추적은 추가적인 처리와 알고리즘을 요구할 수 있습니다. OpenCV 문서와 예제를 참조하여 더 많은 기능과 기술을 익히시길 바랍니다.

참고 자료