예제 #1
0
 public HandDataSource(IShapeDataSource shapeDataSource, HandDataSourceSettings settings)
     : base(shapeDataSource)
 {
     this.factory      = new ShapeHandDataFactory(settings);
     this.size         = shapeDataSource.Size;
     this.CurrentValue = new HandCollection();
 }
예제 #2
0
 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();
 }
예제 #3
0
 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();
 }
예제 #4
0
        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;
        }
예제 #5
0
        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;
        }
예제 #6
0
 public FingerBaseDetector(HandDataSourceSettings settings)
 {
     this.indexOffset    = settings.FingerBaseIndexOffset;
     this.offsetDistance = settings.FingerBaseOffsetDistance;
 }
예제 #7
0
파일: PalmFinder.cs 프로젝트: gnavvy/ParaIF
 public PalmFinder(HandDataSourceSettings settings)
 {
     this.searchRadius = settings.PalmAccuracySearchRadius;
     this.contourReduction = settings.PalmContourReduction;
 }
예제 #8
0
 public FingerPointDetector(HandDataSourceSettings settings)
 {
     this.settings = settings;
     this.lineThinner = new LineThinner(this.settings.MinimumDistanceBetweenFingerPoints, true);
 }
예제 #9
0
 public FingerBaseDetector(HandDataSourceSettings settings)
 {
     this.indexOffset = settings.FingerBaseIndexOffset;
     this.offsetDistance = settings.FingerBaseOffsetDistance;
 }
예제 #10
0
 public FingerPointDetector(HandDataSourceSettings settings)
 {
     this.settings    = settings;
     this.lineThinner = new LineThinner(this.settings.MinimumDistanceBetweenFingerPoints, true);
 }
예제 #11
0
 public PalmFinder(HandDataSourceSettings settings)
 {
     this.searchRadius     = settings.PalmAccuracySearchRadius;
     this.contourReduction = settings.PalmContourReduction;
 }