import cv2 # OpenCV 라이브러리 임포트
# 트래커 객체(KCF, CSRT) 생성
tracker = cv2.TrackerKCF.create()
#tracker = cv2.TrackerCSRT.create()
# 비디오 파일 열기
video = cv2.VideoCapture(r"D:\Project\COMPUTER_VISION\PYTHON\Computer Vision Masterclass\Videos\race.mp4")
# 첫 번째 프레임 읽기
ok, frame = video.read()
# ROI (Region of Interest) 설정: 사용자가 추적할 객체를 선택
bbox = cv2.selectROI(frame)
# 트래커 초기화 (선택한 객체를 기반으로 KCF 트래커 시작)
ok = tracker.init(frame, bbox)
# 비디오 프레임을 반복해서 읽으며 추적 수행
while True:
# 새로운 프레임 읽기
ok, frame = video.read()
if not ok:
break
# KCF 트래커 업데이트 (새로운 프레임에서 객체의 위치 예측)
ok, bbox = tracker.update(frame)
if ok:
# 객체 위치 정보 가져오기
(x, y, w, h) = [int(v) for v in bbox]
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2, 1)
else:
cv2.putText(frame, "ERROR", (100, 80), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
# 프레임 출력 (추적 결과 확인)
cv2.imshow("Tracking", frame)
if cv2.waitKey(1) & 0xFF == 27: #ESC
break
video.release()
cv2.destroyAllWindows()
'이론 공부 > COMPUTER VISION' 카테고리의 다른 글
Computer Vision - LAB 05. Image Classification (OpenCV, Keras) (0) | 2025.02.24 |
---|---|
Computer Vision - Basic Knowledge of Neural Network (0) | 2025.02.18 |
Computer Vision - Tracking Object (KCF, CSRT) (0) | 2025.02.17 |
Computer Vision - LAB 03_2. FACE RECOGNITION (HOG, CNN with Dlib) (0) | 2025.02.14 |
Computer Vision - LAB 03_1. FACE RECOGNITION (LBPH) (0) | 2025.02.13 |