private void LoadPipeline() { Pipeline = new Pipeline() .Pipe(new ResizeFilter(Config.ScaleDownConfig)) .Pipe(new RemoveFaceFilter(Config.FaceConfig)) .Pipe(new EqualizeHistogramFilter(Config.EqHistoConfig)) .Pipe(new BlurFilter(Config.BlurConfig)) .Pipe(new BackgroundRemoveFilter(_backgroundMat, Config.BackGroundRemoveConfig)) .Pipe(new SkinDetectFilter(Config.SkinDetectConfig)) //.Pipe(new HSVFilter(Config.HsvConfig)) //.Pipe(new HSVThresoldFilter(Config.HSVThreshold)) .Pipe(new MorphOpenFilter(Config.MorphConfig)); Tracker = new HandTrackerViewModel(Config.TrackerConfig); }
private void DisplayOutput(Pipeline pipeline, HandTrackerViewModel handTracker, bool showDebug) { if (handTracker.ShowOutput) { if (handTracker.Tracker.TrackerVisualisation != null) { W_OUTPUT = handTracker.Tracker.TrackerVisualisation.ToBitmap().ToBitmapImage(); } else { W_OUTPUT = pipeline.OutputMat.ToBitmap().ToBitmapImage(); } RaisePropertyChanged(() => W_OUTPUT); } if (showDebug) { foreach (var step in pipeline.Steps) { step.Result.Compute(); } } }