用手写用户可以用C#定义Kinect骨架轨道程序的框架是什么?

时间:2013-04-01 12:42:52

标签: kinect

我正在编写关于Kinect骨架轨道程序的程序。而手势的定义则写在程序中。我希望手势的定义由用户定义。这样做的一种方法是通过DFA。我不知道如何从C#开始。任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

尝试使用Lists存储骨架关节的坐标(缓冲区的种类),然后您可以运行DFA。你可以将过渡定义为每个方向的坐标范围,最后的状态是当缓冲区中的元素近似地位于同一区域时。

因此,在C#中,您需要创建一个数据类型来保存手势的序列,当用户为缓冲区添加一个列表时,这些手势会更新。如下所述。

保存手势时,您的代码将如下所示:

  While(!Joint_stable && (i < buffer.count() ) )
{
 While ((buffer.Joint.ElementAt(i+1).X-buffer.Joint.ElementAt(i)).X>0 && (buffer.Joint.ElementAt(i+1)-buffer.Joint.ElementAt(i).Y )>0 ) //Think about adding tolerence here
 { 
Gesture.add("Upper_Right");
 }
 ...
}

只是一个建议,kinect传感器并不准确,所以试着建立一种容忍度。

我希望我的回答可以帮助你或至少给你一些灵感:)