C# 使用kinect将用户脸上的跟踪点放置到阵列中
我目前正在尝试使用xbox kinect跟踪用户的面部表情。我从“人脸跟踪基础”中提取了一些代码,并存储了它使用的点的位置:C# 使用kinect将用户脸上的跟踪点放置到阵列中,c#,arrays,tracking,kinect,face-recognition,C#,Arrays,Tracking,Kinect,Face Recognition,我目前正在尝试使用xbox kinect跟踪用户的面部表情。我从“人脸跟踪基础”中提取了一些代码,并存储了它使用的点的位置: var faceModelPts = new List<Point>(); var faceModel = new List<FaceModelTriangle>(); for (int i = 0; i < this.facePoints.Count; i++)
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>();
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>();
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 = new double[someSize];
yarray = new double[someSize];
这可以解释数组中的空指针,除非您在引用的代码之外声明它
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));
}
在VisualStudio中的该行上设置断点。当您在调试过程中点击它时,请检查以验证
xarray
是否为空。在xarray[i]=this.facePoints[i].X上显示“NullReferenceException was unhandled”(NullReferenceException was unhandled);
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));
}