Browse Source

cleanup PalmDetector

Alexander Hendrich 10 years ago
parent
commit
aeae69cc99
2 changed files with 4 additions and 6 deletions
  1. 3 5
      bbiwarg/Detectors/Palm/PalmDetector.cs
  2. 1 1
      bbiwarg/VideoHandle.cs

+ 3 - 5
bbiwarg/Detectors/Palm/PalmDetector.cs

@@ -30,7 +30,6 @@ namespace bbiwarg.Detectors.Palm
 
         private Contour<Point> palmContour;
         private List<MCvConvexityDefect> convexityDefects;
-        private Vector2D wristPoint, wristDirection;
         private LineSegment2DF wristLine, thumbLine;
         private Quad2D palmRect;
 
@@ -40,7 +39,7 @@ namespace bbiwarg.Detectors.Palm
         private Vector2D bottomLeft;
         private Vector2D bottomRight;
 
-        public PalmDetector(DepthImage depthImage, EdgeImage edgeImage, FingerDetector fingerDetector, PalmImage palmImage)
+        public PalmDetector(DepthImage depthImage, EdgeImage edgeImage, List<Finger> detectedFingers, PalmImage palmImage)
         {
             width = depthImage.getWidth();
             height = depthImage.getHeight();
@@ -50,7 +49,7 @@ namespace bbiwarg.Detectors.Palm
 
             handImage = depthImage.getImage().Convert<Byte>(delegate(short s) { return (s == depthImage.getMaxDepth()) ? (byte)0 : (byte)1; });
             
-            fingers = getFingersWithoutThumb(fingerDetector);
+            fingers = getFingersWithoutThumb(detectedFingers);
             buildPointingHandMask();
             handImage = handImage.And(pointingHandMask);
 
@@ -77,9 +76,8 @@ namespace bbiwarg.Detectors.Palm
             return new PalmRect(palmRect);
         }
 
-        private List<Finger> getFingersWithoutThumb(FingerDetector fingerDetector)
+        private List<Finger> getFingersWithoutThumb(List<Finger> detectedFingers)
         {
-            List<Finger> detectedFingers = fingerDetector.Fingers;
             Finger leftMost = null;
             float minX = float.MaxValue;
             foreach (Finger f in detectedFingers)

+ 1 - 1
bbiwarg/VideoHandle.cs

@@ -150,7 +150,7 @@ namespace bbiwarg
             fingerTracker.setDetectedTouchEventsThisFrame(fingerDetector.Fingers, fingerImage);
 
             //detect palm
-            palmDetector = new PalmDetector(depthImage, edgeImage, fingerDetector, palmImage);
+            palmDetector = new PalmDetector(depthImage, edgeImage, fingerDetector.Fingers, palmImage);
 
             //detect+track touchEvents
             touchDetector = new TouchDetector(fingerTracker.getFingers(), depthImage, touchImage);