private void SetThresholdScalars(double lh, double ls, double lv, double hh, double hs, double hv)
        {
            var settings = ThresholdSettings.Get(lh, ls, lv, hh, hs, hv);

            _detectorInput.Settings.Absorb(settings);
            UpdateThresholdSlidersFromSettings();
        }
        private bool IsColourFullFrame(CameraProcessInput input)
        {
            var isFullFrameColour = false;

            // detect all black
            using (new TemporaryThresholdSettings(_colourDetectorInput, ThresholdSettings.Get(0, 0, 0, 180, 255, 40)))
            {
                _colourDetectorInput.Captured = input.Captured;
                var       colourOutput            = _colourDetector.Process(_colourDetectorInput);
                const int fullFrameMinimumPercent = 70;

                var fullFramePixelCount     = colourOutput.CapturedImage.Width * colourOutput.CapturedImage.Height;
                var mimimumColourPixelCount = fullFramePixelCount * fullFrameMinimumPercent / 100;
                isFullFrameColour = colourOutput.MomentArea > mimimumColourPixelCount;
            }
            return(isFullFrameColour);
        }