Spaces:
Sleeping
Sleeping
| import cv2 | |
| # Initialize video capture | |
| cap = cv2.VideoCapture('mot.mp4') | |
| # Initialize tracker | |
| tracker = cv2.TrackerCSRT_create() | |
| # Read the first frame | |
| ret, frame = cap.read() | |
| if not ret: | |
| print("Failed to read video") | |
| exit() | |
| # Detect initial bounding box | |
| bbox = cv2.selectROI(frame, False) | |
| # Initialize tracker with first frame and bounding box | |
| tracker.init(frame, bbox) | |
| while True: | |
| ret, frame = cap.read() | |
| if not ret: | |
| break | |
| # Update tracker | |
| success, bbox = tracker.update(frame) | |
| if success: | |
| # Draw bounding box | |
| p1 = (int(bbox[0]), int(bbox[1])) | |
| p2 = (int(bbox[0] + bbox[2]), int(bbox[1] + bbox[3])) | |
| cv2.rectangle(frame, p1, p2, (255,0,0), 2, 1) | |
| else: | |
| # Tracking failure | |
| cv2.putText(frame, "Tracking failure detected", (100,80), cv2.FONT_HERSHEY_SIMPLEX, 0.75,(0,0,255),2) | |
| # Display result | |
| cv2.imshow("Tracking", frame) | |
| # Exit if ESC pressed | |
| if cv2.waitKey(1) & 0xFF == 27: # ESC key | |
| break | |
| cap.release() | |
| cv2.destroyAllWindows() | |