Kinect手指跟踪代码出错 [英] Error in Kinect Finger Tracking code
问题描述
最初我得到了这个例外,
然后我在第311行解决了这个问题,使用if和else:
double firstLine = cursorTop + 3 +(outputPos * 7);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; for(int fingerIdx = 0; fingerIdx< 5; fingerIdx ++)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;试试
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; 数组f = Enum.GetValues(typeof(Hand.FingerJointType));
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;数组fNames = Enum.GetNames(typeof(Hand.FingerJointType));
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; int idxInEnum = fingerIdx * 3;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; Microsoft.Kinect.DepthSpacePoint [] p = new Microsoft.Kinect.DepthSpacePoint [3];
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; string [] jointNames = new string [3];
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; for(int j = 0; j <3; j ++)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; Hand.FingerJointType jt =(Hand.FingerJointType)f.GetValue(idxInEnum + j);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;&NBSP; &NBSP;
if(hand.FingerJoints.ContainsKey(jt))
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; p [j] = hand.FingerJoints [jt];
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;否则
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; MessageBox.Show(" Not Found");
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;&NBSP; &NBSP; jointNames [j] =(string)fNames.GetValue(idxInEnum + j);
现在我的屏幕在第一个Kinect帧暂停到达并显示messageBox未找到。我的代码需要此密钥,任何人都可以告诉我如何在我的代码中添加此密钥..
软件工程专业学生。
我们在Kinect SDK中没有图形跟踪。您是否正在使用第三方库?如果是这样,请确保您已将相应的库添加到项目中。您可能需要联系开发人员以获取帮助。
https://msdn.microsoft.com/en-us/library/microsoft.kinect.jointtype.aspx
Initially i got this Exception,
Then i fix this problem at line 311, using if and else:
double firstLine = cursorTop + 3 + (outputPos * 7);for (int fingerIdx = 0; fingerIdx < 5; fingerIdx++)
{
try
{
Array f = Enum.GetValues(typeof(Hand.FingerJointType));
Array fNames = Enum.GetNames(typeof(Hand.FingerJointType));
int idxInEnum = fingerIdx * 3;
Microsoft.Kinect.DepthSpacePoint[] p = new Microsoft.Kinect.DepthSpacePoint[3];
string[] jointNames = new string[3];
for (int j = 0; j < 3; j++)
{
Hand.FingerJointType jt = (Hand.FingerJointType)f.GetValue(idxInEnum + j);
if (hand.FingerJoints.ContainsKey(jt))
{
p[j] = hand.FingerJoints[jt];
}
else
{
MessageBox.Show("Not Found");
}
jointNames[j] = (string)fNames.GetValue(idxInEnum + j);
Now my screen is pausing at first Kinect Frame arrival and Displaying the messageBox Not Found. My code requires this Key, Can anyone tell me how to add this key in my code..
Student of Software Engineering.
we don't have figure tracking in the Kinect SDK. Are you using a third party library for this? If so, be sure you have added the appropriate libraries to your project. You may want to contact the developer for assistance.
https://msdn.microsoft.com/en-us/library/microsoft.kinect.jointtype.aspx
这篇关于Kinect手指跟踪代码出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!