public IList<FingerPoint> FindFingerPoints(Contour contour, ConvexHull convexHull) { this.contourPoints = contour.Points; var thinnedHullPoints = new LineThinner(this.settings.MinimumDistanceBetweenFingerPoints, true).Filter(convexHull.Points); var verifiedHullPoints = this.VerifyPointsByContour(thinnedHullPoints); return verifiedHullPoints.Select(r => new FingerPoint(r)).ToList(); }
public Palm FindCenter(Contour contour, IList<Point> candidates) { this.result = null; var minimizedContour = new LineThinner(contourReduction, false).Filter(contour.Points); this.FindCenterFromCandidates(minimizedContour, candidates); this.IncreaseAccuracy(this.result.Location, minimizedContour); return result; }
public Palm FindCenter(ConvexHull hull, Contour contour, IList<Point> candidates) { this.result = null; candidates = ReduceCandidatePoints(hull, candidates); if (candidates.Count > 0) { var minimizedContour = new LineThinner(contourReduction, false).Filter(contour.Points); this.FindCenterFromCandidates(minimizedContour, candidates); if (this.result != null) { this.IncreaseAccuracy(this.result.Location, minimizedContour); } } return result; }
public ContourFactory(float lineThinningDistance) { this.tracer = new ContourTracer(); this.thinner = new LineThinner(lineThinningDistance, false); }
public FingerPointDetector(HandDataSourceSettings settings) { this.settings = settings; this.lineThinner = new LineThinner(this.settings.MinimumDistanceBetweenFingerPoints, true); }
public ContourFactory(float lineThinningDistance, int maximumRetraceSteps) { this.scanner = new ContourScanner(); this.tracer = new ContourTracer(maximumRetraceSteps); this.thinner = new LineThinner(lineThinningDistance, false); }