KinectSDK如何实现眼球追踪?要求是在3D空间中围绕每只眼睛定义一个矩形。应该有一种方法可以使用MicrosoftKinectSDK来跟踪眼睛。据此,FaceTrackingSDK使用Kinect坐标系输出其3D跟踪结果。原点位于相机(传感器)的光学中心,Z轴指向用户,Y轴向上。测量单位是平移米和旋转角度度数。添加...Debug3DShape("OuterCornerOfRightEye",faceTrackFrame.Get3DShape()[FeaturePoint.OuterCornerOfRightEye]);Debug3DShape("InnerCornerRightEye",faceTrackFrame.Get3DShape()[FeaturePoint.InnerCornerRightEye]);Debug3DShape("InnerCornerLeftEye".Get3DShape()[FeaturePoint.InnerCornerLeftEye]);Debug3DShape("OuterCornerOfLeftEye",faceTrackFrame.Get3DShape()[FeaturePoint.OuterCornerOfLeftEye]);...privatevoidDebug3DShape(strings,Vector3DFv){Debug.WriteLine(s+"X"+vX+"Y"+vY+"Z"+vZ);}toCreateResult()inMicrosoft.Kinect.Toolkit.FaceTrackingprintOuterCornerOfRightEyeX-0.05728126Y0.04850625Z-0.1144406InnerCornerRightEyeX-0.01584376Y0.04850127XInnCornerEyeX-0.01584376Y0.04850127XInnCornerEyeX-0.60.01584374Y0.04850625Z-0.1279687OuterCornerOfLeftEyeX0.05728124Y0.04850625Z-0.1144406SDK开始人脸追踪时。我应该能够使用这些坐标在每只眼睛周围画一个框,但Z坐标应该更接近1.0,而不是-0.1..或-0.2..(取决于我的设置)所以我不相信这些数字。XYZ应该是FeaturePoint在3D空间中相对于传感器的位置吗?我误解了Kinect坐标系吗?我是否正确使用了KinectSDK?我在使用Xbox360Kinect传感器吗?(Microsoft不保证KinectforWindows应用程序与Xbox360Kinect传感器之间的完全兼容性)编辑:添加此if(trackSucceeded){...if(headPointsObj!=null)for(inti=0;i<2;i++)DebugHeadPoint(i,headPointsObj.Points);}privatevoidDebugHeadPoint(inti,Vector3DF[]points){if(points==null)thrownewArgumentNullException("points");Debug.WriteLine("HeadPoint["+i+"]X"+points[i].X+"Y"+points[i].Y+"Z"+points[i].Z);}toFaceTracker.cs::Track()打印出HeadPoint[0]X0.01227657Y-0.2290326Z1.319978HeadPoint[1]X0.00613283Y-0.02143053Z1.280334HeadPoint[0]X0.003939687Y-0.22976219HeadPoint[1]-0.003732742Y-0.02388078Z1.277723...根据设置,数字似乎是正确的。FeaturePoints只打印一次,但HeadPoints在trackSucceeded时连续打印。FeaturePoint值是相对于HeadPoint的吗?根据我们在MSDN论坛上的对话:http://social.msdn.microsoft.com/Forums/en-US/93046062-05fe-4beb-9d69-94a4f004fb7b/how-to-track-eyes-using-kinect以上是C#学习教程:如何使用KinectSDK跟踪眼睛?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
