public ColourDetectionControl() { InitializeComponent(); _colorDetector = new ColourDetector(); _detectorInput = new ColourDetectorInput(); _colorSettingsRepo = new ColourSettingsRepository(); }
/// <summary> /// sudo mono picamcv.con.exe -m=pantiltmultimode /// </summary> public MultimodePanTiltController( IPanTiltMechanism panTiltMech , CaptureConfig captureConfig , IScreen screen , IServerToCameraBus serverToCameraBus , params IOutputProcessor[] outputPipelines) : base(panTiltMech, captureConfig) { _screen = screen; _serverToCameraBus = serverToCameraBus; _outputPipelines = outputPipelines; _colourSettingsRepository = new ColourSettingsRepository(); _faceTrackingController = new FaceTrackingPanTiltController(panTiltMech, captureConfig); _camshiftTrackingController = new CamshiftPanTiltController(panTiltMech, captureConfig); _colourTrackingController = new ColourTrackingPanTiltController(panTiltMech, captureConfig); _thresholdSelector = new ThresholdSelector(); _thresholdSelector.ColourCheckTick += thresholdSelector_ColourCheckTick; _colourDetectorInput = new ColourDetectorInput(); _colourDetectorInput.SetCapturedImage = true; var repoSettings = _colourSettingsRepository.Read(); if (repoSettings != null) { _colourDetectorInput.Settings = repoSettings; } _faceTrackManager = new FaceTrackStateManager(screen); _colourTrackManager = new ColourTrackStateManager(screen); _staticManager = new StaticStateManager(screen); _autonomousManager = new AutonomousTrackStateManager(this, screen); SoundService = new SoundService(); screen.Clear(); ChangeMode(ProcessingMode.Autonomous); _autonomousManager.IsFaceFound = i => _faceTrackingController.Process(i).IsDetected; _autonomousManager.IsColourFullFrame = IsColourFullFrame; _faceTrackingController.ClassifierParams.MinSize = new Size(20, 20); _faceTrackingController.ClassifierParams.MaxSize = new Size(50, 50); screen.WriteLine(_faceTrackingController.ClassifierParams.ToString()); InitController(); ServoSettleTimeChanged += (s, e) => { _faceTrackingController.ServoSettleTime = ServoSettleTime; _colourTrackingController.ServoSettleTime = ServoSettleTime; }; _colourDetector = new ColourDetector(); }
public ColourDetectionControl() { InitializeComponent(); _colorDetector = new ColourDetector(); _detectorInput = new ColourDetectorInput(); _colorSettingsRepo = new ColourSettingsRepository(); _thresholdSelector = new ThresholdSelector(); _imageBoxSelector = new ImageBoxSelector(); }
public ColourDetectionControl() { InitializeComponent(); _colorDetector = new ColourDetector(); _detectorInput = new ColourDetectorInput(); _colorSettingsRepo = new ColourSettingsRepository(); _thresholdSelector = new ThresholdSelector(); _imageBoxSelector = new ImageBoxSelector(); }
public CalibratingPanTiltController(IPanTiltMechanism panTiltMech, CalibrationReadingsRepository readingsRepo, IScreen screen) : base(panTiltMech) { _colourDetector = new ColourDetector(); _readingsRepo = readingsRepo; _screen = screen; if (EnvironmentService.IsUnix) { _servoSettleTime = TimeSpan.FromMilliseconds(750); } else { _servoSettleTime = TimeSpan.FromMilliseconds(0); } }
public ServoSorter( ICaptureGrab capture ,ConsoleOptions options) : base(capture) { _servoPosition = 70; Settings = options.ColourSettings; _debounceWatch = new Stopwatch(); var deviceFactory = new Pca9685DeviceFactory(); var device = deviceFactory.GetDevice(options.UseFakeDevice); SetLogLevel(device); _pwmControl = new ServoSortPwmControl(device); _pwmControl.Init(); _detector = new ColourDetector(); }
public ServoSorter( ICaptureGrab capture , ConsoleOptions options) : base(capture) { _servoPosition = 70; Settings = options.ColourSettings; _debounceWatch = new Stopwatch(); var deviceFactory = new Pca9685DeviceFactory(); var device = deviceFactory.GetDevice(options.UseFakeDevice); SetLogLevel(device); _pwmControl = new ServoSortPwmControl(device); _pwmControl.Init(); _detector = new ColourDetector(); }
public override void ImageGrabbedHandler(object sender, EventArgs e) { using (var matCaptured = new Mat()) { CameraCapture.Retrieve(matCaptured); var detector = new ColourDetector(); var input = new ColourDetectorInput { Captured = matCaptured , Settings = Settings , SetCapturedImage = false }; var result = detector.Process(input); if (result.IsDetected) { Log.Info(result); } } }
public override void ImageGrabbedHandler(object sender, EventArgs e) { using (var matCaptured = new Mat()) { CameraCapture.Retrieve(matCaptured); var detector = new ColourDetector(); var input = new ColourDetectorInput { Captured = matCaptured ,Settings= Settings ,SetCapturedImage = false }; var result = detector.Process(input); if (result.IsDetected) { Log.Info(result); } } }
public ColourDetectionControl() { InitializeComponent(); _colorDetector = new ColourDetector(); _detectorInput = new ColourDetectorInput(); }
public ColourTrackingPanTiltController(IPanTiltMechanism panTiltMech, CaptureConfig captureConfig) : base(panTiltMech, captureConfig) { _colourDetector = new ColourDetector(); }