Kinect for Windows手势识别

use*_*679 8 c# wpf gesture-recognition kinect

我一直在关注Kinect for Windows发行说明和功能,因为我想在我的项目中加入手势识别.

在上面的页面中,第一行提到"Kinect for Windows SDK使开发人员能够创建支持手势和语音识别的应用程序".语音识别API随SDK一起提供,可以随时使用.但是,我认为SDK中没有可用的手势识别API.Skeleton Tracking的API可以很容易地使用,但是必须进行定制以获得手势识别.

我已经看过Windows Media Center的视频由手势等和其他应用程序控制.我想知道所有这些应用程序是否都是自定义构建的并且必须编写自己的手势识别代码.

目前,在我的项目中,我正在使用Codeplex的Kinect DTW手势识别.我有两个问题 - > 1)看起来非常性能占用,并且通过我的应用程序启用此功能,我的应用程序在一段时间后抛出OutofMemory异常(PC规格非常高).2)不能说系统的健壮性.有时为某些人工作而不为其他人工作.

我想如果API已经内置,那么切换到这些就好了.这些是可用的还是分辨率是什么?

lum*_*ck4 9

我现在正在为学校项目做这件事.我们必须创建自己的手势识别模块.API中没有任何内容可以帮助您,但它为您提供了构建功能所需的所有部分.

这篇文章是一个很大的帮助,http://blogs.msdn.com/b/mcsuksoldev/archive/2011/08/08/writing-a-gesture-service-with-the-kinect-for-windows-sdk.aspx.它讨论了如何分解手势.如果你只有一些手势,你可以硬编码,这是微不足道的.我们需要能够加载并识别用户定义的手势,但本文描述了我们用于实现目标的基本框架.


Dev*_*per 6

看看这里http://www.exceptontuesdays.com/gestures-with-microsoft-kinect-for-windows-sdk-v1-5/

该页面上提供了源代码.

它承认以下内容

 switch (e.GestureType)
            {
                case GestureType.Menu:
                    Debug.WriteLine("Menu");
                    Gesture = "Menu";
                    break;
                case GestureType.WaveRight:
                    Debug.WriteLine("Wave Right");
                    Gesture = "Wave Right";
                    break;
                case GestureType.WaveLeft:
                    Debug.WriteLine("Wave Left");
                    Gesture = "Wave Left";
                    break;
                case GestureType.JoinedHands:
                    Debug.WriteLine("Joined Hands");
                    Gesture = "Joined Hands";
                    break;
                case GestureType.SwipeLeft:
                    Debug.WriteLine("Swipe Left");
                    Gesture = "Swipe Left";
                    break;
                case GestureType.SwipeRight:
                    Debug.WriteLine("Swipe Right");
                    Gesture = "Swipe Right";
                    break;
                case GestureType.ZoomIn:
                    Debug.WriteLine("Zoom In");
                    Gesture = "Zoom In";
                    break;
                case GestureType.ZoomOut:
                    Debug.WriteLine("Zoom Out");
                    Gesture = "Zoom Out";
                    break;

                default:
                    break;
Run Code Online (Sandbox Code Playgroud)

  • 链接已经死了. (2认同)