私は現在、xboxkinectを使用してユーザーの顔を追跡しようとしています。「顔追跡の基本」からいくつかのコードを取得し、使用するポイントの場所を保存しました。
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;
私がしていることに単純なエラーがありますか、それともこの情報をこの方法で配列に配置することはできませんか?
また、ポイントの位置を取得したら、この場所の深度情報を取得するにはどうすればよいですか?