Forráskód Böngészése

added FingerTracker (using Tracker<Finger>)

Alexander Hendrich 10 éve
szülő
commit
b81cd6261e

+ 20 - 0
bbiwarg/Recognition/FingerRecognition/FingerTracker.cs

@@ -0,0 +1,20 @@
+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<Finger>
+    {
+        public List<Finger> Fingers { get { return TrackedObjects; } }
+
+        public FingerTracker()
+            : base(LogSubject.FingerTracker, Constants.FingerNumFramesUntilTracked, Constants.FingerNumFramesUntilLost, Constants.FingerMinSimilarityForTracking) {
+        
+        }
+    }
+}

+ 4 - 4
bbiwarg/VideoHandle.cs

@@ -55,7 +55,7 @@ namespace bbiwarg
         private TouchDetector touchDetector;
         private PalmTouchDetector palmTouchDetector;
 
-        private Tracker<Finger> fingerTracker;
+        private FingerTracker fingerTracker;
         private TouchTracker touchTracker;
 
         private TouchEventVisualizer touchEventVisualizer;
@@ -122,7 +122,7 @@ namespace bbiwarg
 
         private void initTrackers() {
             touchTracker = new TouchTracker();
-            fingerTracker = new Tracker<Finger>(LogSubject.FingerTracker, Constants.FingerNumFramesUntilTracked, Constants.FingerNumFramesUntilLost, Constants.FingerMinSimilarityForTracking);
+            fingerTracker = new FingerTracker();
         }
 
         private void processFrameUpdate()
@@ -180,7 +180,7 @@ namespace bbiwarg
             //track fingers
             Timer.start("fingerTracking");
             fingerTracker.updateFrame(fingerDetector.Fingers);
-            foreach (Finger f in fingerTracker.TrackedObjects) {
+            foreach (Finger f in fingerTracker.Fingers) {
                 OutputImages[1].drawText(f.MidPoint.IntX, f.MidPoint.IntY, f.TrackID.ToString(), Constants.FingerIDColor);
             }
             Timer.stop("fingerTracking");
@@ -204,7 +204,7 @@ namespace bbiwarg
 
             //detect touchEvents
             Timer.start("touchDetection");
-            touchDetector = new TouchDetector(fingerTracker.TrackedObjects, depthImage, OutputImages[0]);
+            touchDetector = new TouchDetector(fingerTracker.Fingers, depthImage, OutputImages[0]);
             if (palmDetector.PalmQuad != null)
                 palmTouchDetector = new PalmTouchDetector(touchDetector.TouchEvents, palmDetector.PalmQuad, palmDetector.PalmHandSide);
             Timer.stop("touchDetection");

+ 1 - 0
bbiwarg/bbiwarg.csproj

@@ -71,6 +71,7 @@
     <Compile Include="Recognition\FingerRecognition\FingerDetector.cs" />
     <Compile Include="Recognition\FingerRecognition\FingerSliceTrail.cs" />
     <Compile Include="Recognition\FingerRecognition\FingerSlice.cs" />
+    <Compile Include="Recognition\FingerRecognition\FingerTracker.cs" />
     <Compile Include="Recognition\HandRecognition\Hand.cs" />
     <Compile Include="Recognition\HandRecognition\HandDetector.cs" />
     <Compile Include="Recognition\PalmRecognition\PalmDetector.cs" />