我目前正在尝试使用 xbox kinect 跟踪用户的面部。我从“面部跟踪基础”中获取了一些代码,并存储了它使用的点的位置:
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));
}
我希望能够使用这些信息来计算其中一些点之间的距离。所以我尝试将它们放在一个单独的数组中,如下所示:
var faceModelPts = new List<Point>();
var faceModel = new List<FaceModelTriangle>();
double[] xarray;
double[] yarray;
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));
xarray[i] = this.facePoints[i].X;
yarray[i] = this.facePoints[i].Y;
}
但这似乎返回错误。但我可以通过执行以下操作来获取信息:
double xpos21 = this.facePoints[21].X;
我在做什么只是一个简单的错误,还是不能以这种方式将这些信息放入数组中?
另外,一旦我有了点的位置,我该如何检索该位置的深度信息?