In order to run our app, we will need to execute a main function routine that reads a frame of a video stream, generates a saliency map, extracts the location of the proto-objects, and tracks these locations from one frame to the next.
The main process flow is handled by the main function in
chapter5.py, which instantiates the two classes (
MultipleObjectTracker) and opens a video file showing the number of soccer players on the field:
import cv2 import numpy as np from os import path from saliency import Saliency from tracking import MultipleObjectsTracker def main(video_file='soccer.avi', roi=((140, 100), (500, 600))): if path.isfile(video_file): video = cv2.VideoCapture(video_file) else: ...