using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using bbiwarg.Recognition.Tracking; using bbiwarg.Utility; namespace bbiwarg.Recognition.FingerRecognition { class FingerTracker : Tracker { public List Fingers { get { return TrackedObjects; } } public FingerTracker() : base(Constants.FingerNumFramesDetectedUntilTracked, Constants.FingerNumFramesLostUntilDeleted, Constants.FingerMinSimilarityForTracking) { } protected override void onStateChanged(object sender, TrackingStateChangeEventArgs e) { TrackableObjectHistory history = (TrackableObjectHistory)sender; //log if (history.NumFramesInCurrentState == 1) { switch (e.NextState) { case TrackingState.Detected: Logger.log("Finger #" + history.ID.ToString() + " detected", LogSubject.FingerTracker); break; case TrackingState.Tracked: Logger.log("Finger #" + history.ID.ToString() + " tracked", LogSubject.FingerTracker); break; case TrackingState.Lost: Logger.log("Finger #" + history.ID.ToString() + " lost", LogSubject.FingerTracker); break; case TrackingState.Delete: Logger.log("Finger #" + history.ID.ToString() + " deleted", LogSubject.FingerTracker); break; } } } } }