public HandDataSource(IShapeDataSource shapeDataSource, HandDataSourceSettings settings) : base(shapeDataSource) { this.factory = new ShapeHandDataFactory(settings); this.size = shapeDataSource.Size; this.CurrentValue = new HandCollection(); }
public ShapeHandDataFactory(HandDataSourceSettings settings) { this.settings = settings; this.fingerPointDetector = new FingerPointDetector(settings); this.fingerBaseDetector = new FingerBaseDetector(settings); this.palmFinder = new PalmFinder(settings); this.currentValue = new HandCollection(); }
public static void SetToDefault(HandDataSourceSettings settings) { settings.MinimumDistanceBetweenFingerPoints = 25; settings.MinimumDistanceIntersectionPoints = 30; settings.MinimumDistanceFingerPointToIntersectionLine = 22; settings.MaximumDistanceBetweenIntersectionPoints = 27; settings.DetectFingers = true; settings.DetectCenterOfPalm = true; settings.DetectFingerDirection = true; settings.PalmAccuracySearchRadius = 8; settings.PalmContourReduction = 8; settings.FingerBaseIndexOffset = 10; settings.FingerBaseOffsetDistance = 770; settings.FramesForNewFingerPoint = 3; settings.FramesForDiscontinuedFingerPoint = 2; }
public FingerBaseDetector(HandDataSourceSettings settings) { this.indexOffset = settings.FingerBaseIndexOffset; this.offsetDistance = settings.FingerBaseOffsetDistance; }
public PalmFinder(HandDataSourceSettings settings) { this.searchRadius = settings.PalmAccuracySearchRadius; this.contourReduction = settings.PalmContourReduction; }
public FingerPointDetector(HandDataSourceSettings settings) { this.settings = settings; this.lineThinner = new LineThinner(this.settings.MinimumDistanceBetweenFingerPoints, true); }