2012-11-22 36 views
0

我目前使用Microsoft的SDK跟蹤臉部,並可以檢測臉上的121個點。我可以得到以下莊園點的座標:使用Kinect獲取面部點的深度信息

  if (!this.lastFaceTrackSucceeded || this.skeletonTrackingState != SkeletonTrackingState.Tracked) 
       return; 

      var faceModelPts = new List<Point>(); 
      var faceModel = new List<FaceModelTriangle>(); 

      for (int i = 0; i < this.facePoints.Count; i++) 
      { 
       faceModelPts.Add(new Point(this.facePoints[i].X + 0.5f, this.facePoints[i].Y + 0.5f)); 
       FaceDataPoints.XPointInfo[i] = this.facePoints[i].X; 
       FaceDataPoints.YPointInfo[i] = this.facePoints[i].Y; 
      } 

但是,這些點似乎是彩色圖像的座標。我如何獲得關於每個像素的相應深度信息。如在用戶臉上點「20」?

+0

通過FaceTracking項目查看「DepthToColor」。跟蹤器正在映射那些座標 - 我發現了幾個參考,但沒有追溯到確切的位置。您可能能夠找到深度映射到該顏色的點。 –

+0

我在「FaceTracker.cs」中找到了一對,它們在DepthToColorCallBack下。這是你在說什麼嗎? – difurious

+0

是的。此功能會移動深度點以匹配彩色圖像。修改代碼並刪除這些*可能會給出原始深度點。我沒有嘗試過,所以我不能肯定地說。如果時間允許,我會盡快嘗試。 –

回答

0

找到答案

「GetProjected3DShape」 形狀擱置2D座標使用由臉部跟蹤基礎

爲了獲得深度信息使用 「Get3DShape」 的2

 private EnumIndexableCollection<FeaturePoint, PointF> ColourPoints; 

     private EnumIndexableCollection<FeaturePoint, Vector3DF> DepthPoints; 

比較

深度點保存每個麪點的X,Y和Z座標的信息