def __init__(self, algorithm): super(Ball2DTracker, self).__init__() self.threshold_filter = ThresholdFilter( np.array([20, 150, 50], dtype=np.uint8), np.array([40, 255, 255], dtype=np.uint8)) self.algo = algorithm() # Setup the Kalman Filter noise matrices self.Q = (10**-3) * np.eye(4, 4) self.R = (10**-1) * np.eye(2, 2) self.kalman_filter = KalmanFilter(self.Q, self.R) self.centroid_algo = Centroid() self.transformed_image = np.copy(self.image) self.centroid = self.centroid_algo( self.threshold_filter(self.transformed_image))