Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用kinect将用户脸上的跟踪点放置到阵列中_C#_Arrays_Tracking_Kinect_Face Recognition - Fatal编程技术网

C# 使用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++)

我目前正在尝试使用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>();

            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));
            }