All CV2 juggling trackers follow the same basic pattern:
cap = cv2.VideoCapture(FILENAME)
object_detector = cv2.createBackgroundSubtractorMOG2(
history=DETECTOR_HISTORY,
varThreshold=DETECTOR_THRESHOLD)
# Get first frame
ret, frame = cap.read()
tracked_objects = []
track()
and display_in_frame()
are user defined
while ret:
mask = object_detector.apply(frame)
contours, _ = cv2.findContours( mask,
cv2.RETR_TREE,
cv2.CHAIN_APPROX_SIMPLE )
tracked_objects=track(tracked_objects, contours)
frame=display_in_frame(frame, tracked_objects)
# Create a named window
cv2.namedWindow("Juggling", cv2.WINDOW_NORMAL)
cv2.imshow("Juggling", frame)
key = cv2.waitKey(frame_delay)
if key == 27:
break
ret, frame = cap.read()
cap.release()
cv2.destroyAllWindows()