/// <summary> /// Constructor /// </summary> /// <param name="imagingData">Common Use Imaging Data</param> /// <param name="preprocessor">Image Preprocessor Unit [Default is nu will be created]</param> /// <param name="motionInspector">Motion Detection Unit [Default is nu will be created]</param> public Tracker(IImageData imagingData, IImagePreparation preprocessor = null, IMotionDetector motionInspector = null) { ComputerVisionMonitors = new Dictionary<eComputerVisionMonitor, IComputerVisionMonitor>(); ImagingData = imagingData; MotionInspector = motionInspector ?? new MotionDetector(ImagingData); PreProcessor = preprocessor ?? new ImagePreProcessor(); }
/// <summary> /// Constructor /// </summary> /// <param name="imagingData">Common Use Imaging Data</param> /// <param name="preprocessor">Image Preprocessor Unit [Default is nu will be created]</param> /// <param name="motionInspector">Motion Detection Unit [Default is nu will be created]</param> public Tracker(IImageData imagingData, IImagePreparation preprocessor = null, IMotionDetector motionInspector = null) { ComputerVisionMonitors = new Dictionary <eComputerVisionMonitor, IComputerVisionMonitor>(); ImagingData = imagingData; MotionInspector = motionInspector ?? new MotionDetector(ImagingData); PreProcessor = preprocessor ?? new ImagePreProcessor(); }
/// <summary> /// Constructor /// </summary> /// <param name="imagingData">Common imaging data for all Image Processing Unit</param> /// <param name="streamer">Frame Streamer used to check if we received new frames</param> /// <param name="preprocessor">Image Preparation unit [default is null - will be created]</param> /// <param name="motionInspector">Motion Detection unit [default is null - will be created</param> public BallTracker(IImageData imagingData, FramePublisher streamer, IImagePreparation preprocessor = null, IMotionDetector motionInspector = null) : base(imagingData, preprocessor, motionInspector) { _streamer = streamer; CannyThreshold = DEFAULT_CANNY_THRESHOLD; CircleAccumulator = DEFAULT_CIRCLE_ACCUMULATOR_THRESHOLD; InverseRatio = DEFAULT_INVERSE_RATIO; }