繁体   English   中英

Kinect for Windows手势识别

[英]Kinect for Windows gesture recognition

我一直在关注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已经内置,那么切换到这些就好了。 这些是可用的还是分辨率是什么?

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

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

看看这里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;

我也正在开发一个带有手势识别的应用程序作为大学的任务。 在搜索好书之后,我偶然发现了这两本书 ,两者都是由微软研究人员撰写的:

(1) http://www.amazon.de/Programming-Kinect-Windows-Software-Development/dp/0735666814
(2) http://www.amazon.de/Kinect-Windows-SDK-Programming-Guide/dp/1849692386/ref=sr_1_10?s=books-intl-de&ie=UTF8&qid=1393944100&sr=1-10&keywords=kinect

他们描述了使用Kinect进行手势识别的一般技术

试试这个FAAST API 它是一个API,可以识别身体的手势并给出相应的输入中断。 在这里,您需要为特定操作分配特定键。 例如:假设我使用'W'键进行向前移动,然后我可以使用此API为特定手势分配此键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM