首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Kinect为简单静态手势创建手势定义-第2部分

使用Kinect为简单静态手势创建手势定义-第2部分
EN

Stack Overflow用户
提问于 2012-02-25 17:55:05
回答 1查看 620关注 0票数 0

我已经实现了示例代码,并且使用了'Joint.ID‘而不是'Joint.Type',我只需要知道是否/如何在一个循环中连续地检查这个代码。如有任何建议,将不胜感激。谢谢。

备注:-

当颜色/深度/骨架同步时,

  1. void newSensor_AllFramesReady触发。我不太确定把这个method.
  2. checkHand方法放在哪里,需要检查线程的每一轮。

目前为止的代码:-

代码语言:javascript
复制
void newSensor_AllFramesReady(object sender, SkeletonFrameReadyEventArgs e)
{
    //Get a skeleton

    SkeletonFrame skeletonSet = e.SkeletonFrame;

    SkeletonData skeleton = (from s in skeletonSet.Skeletons
                             where s.TrackingState == SkeletonTrackingState.Tracked
                             select s).FirstOrDefault();

    if (skeleton == null)
    {
        return;
    }
    else if (skeleton != null)
    {
        checkHand(skeleton.Joints[JointID.Head], skeleton.Joints[JointID.HandRight], skeleton.Joints[JointID.HandLeft]);
    }
}

public void checkHand(Joint head, Joint rhand, Joint lhand)
{
    if (rhand.Position.X > head.Position.Y)
    {
        MessageBox.Show("Right hand up!");
    }
    else if (lhand.Position.Y > head.Position.Y)
    {
        MessageBox.Show("Left hand up!");
    }
}
EN

回答 1

Stack Overflow用户

发布于 2012-03-02 23:20:40

确保将newSensor_AllFramesReady指定为AllFramesReady事件的事件处理程序。没有必要在循环中加入其中任何一种。newSensor_AllFramesReady将被每秒调用30次(或者是kinect的刷新速率)。

代码语言:javascript
复制
Kinect.AllFramesReady += new EventHandler<AllFramesReadyEventArgs>(newSensor_AllFramesReady);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9446465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档