0

現在、MicrosoftのSDKを使用して顔を追跡しており、顔の121ポイントを検出できます。次のマナーでポイントの座標を取得できます。

            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」など?

4

1 に答える 1

0

答えを見つけた

「GetProjected3DShape」シェイプは、顔追跡の基本で使用される2D座標を保持します

深度情報を取得するには、「Get3DShape」を使用します

2の比較

        private EnumIndexableCollection<FeaturePoint, PointF> ColourPoints;

        private EnumIndexableCollection<FeaturePoint, Vector3DF> DepthPoints;

深さポイントは、各顔ポイントのX、Y、Z座標の情報を保持します

于 2012-11-29T18:25:12.930 に答える