/// <summary> /// Image Processing Unit Constructor /// </summary> /// <param name="streamer">Video streamer to get frames from</param> /// <param name="onUpdateMarkup">Update markup function delegate</param> /// <param name="onUpdateStatistics">Update statistics delegate</param> public ImageProcessingUnit(Publisher <Frame> streamer, Helpers.UpdateMarkupCircleDelegate onUpdateMarkup, Helpers.UpdateStatisticsDelegate onUpdateStatistics) : base(streamer, onUpdateMarkup, onUpdateStatistics) { _calibrator = new CalibrationUnit(UpdateMarkup, UpdateStatistics); _ballTracker = new Tracker(_calibrator, _publisher, UpdateMarkup, UpdateStatistics); BallLocationPublisher = new BallLocationPublisher(_ballTracker); _lastFrameTimeStamp = DateTime.Now; _detectionAnalyzer = new DetectionStatisticAnalyzer(onUpdateStatistics); }
/// <summary> /// Constructor /// </summary> /// <param name="callibrator">Calibrator Unit Instance</param> /// <param name="streamer">Streamer Unit Instance</param> /// <param name="onUpdateMarkup">Update Markup Delegate</param> /// <param name="onUpdateStatistics">Update Statistics Delegate</param> public Tracker(CalibrationUnit callibrator, Publisher <Frame> streamer, Helpers.UpdateMarkupCircleDelegate onUpdateMarkup, Helpers.UpdateStatisticsDelegate onUpdateStatistics) : base(onUpdateMarkup, onUpdateStatistics) { _calibrator = callibrator; _streamer = streamer; }