随笔分类 - Kinect for Windows SDK

摘要: Kinect for Windows SDK1.7中引入了Kinect Fusion功能。在1.8的SDK中对该功能进行了改进和强化,Kinect Fusion能够使得我们使用Kinect for Windows 传感器来进行真实场景的三维几何重建,目前已支持导出.obj及.stl等三维数据格式。Kinect Fusion技术在支持GPU加速的机器上能够对物体进行实时的三维建模。和传统的三...阅读全文
posted @ 2013-11-18 01:40 yangecnu 阅读(17976) | 评论 (9) 编辑
摘要: 今年3月, 微软推出了Kinect for Windows SDK 1.7 更新,包括了手势识别 Kinect Interactions 和实时 3D 建模 Kinect Fusion 两项新技术。 昨天,微软发布了Kinect for Windows SDK的1.8版本,新版本SDK进行了少量更新,但对Kinect Developer Toolkit中的示例进行了大量更新,包括新添加了对HTML5的支持,新的背景移除功能、Kinect Fusion 的色彩捕捉功能、 Kinect Fusion追踪的稳健性提升,以及多Kinect固定实时三维建模等功能。下面就来看看这些新功能的具体细节:新的.阅读全文
posted @ 2013-09-19 13:54 yangecnu 阅读(4881) | 评论 (7) 编辑
摘要: 今年三月份发布了1.7版本的SDK,这一版本的SDK较前一版本最大的变化是添加了Kinect Interactions 和 Kinect Fusion。Kinect Interactions 提供了一些新的带有姿势识别的控件如 push-to-press 按钮, grip-to-pan 列表控件, 而且支持多用户,同时二个人进行的交互,这些新添加的控件能够非常方便的集成到应用程序中,极大的简化了开发和调试过程。阅读全文
posted @ 2013-07-14 01:20 yangecnu 阅读(9545) | 评论 (27) 编辑
摘要: 整理了一下去年为止到现在写的和翻译的Kinect的相关文章,方便大家查看。另外,最近京东上微软在搞活动, 微软 Kinect for Windows 京东十周年专供礼包 ,如果您想从事Kinect开发,没有设备的话,有兴趣可以上去看看。 如果您在开发中遇到问题,可以到微软MSDN K4W板块提问,那儿有专门的工程师回答您的问题,另外我新建了一个QQ群 254015296 ,如果您有兴趣也可以加一下一起讨论共同学习。以下所有和Kinect开发相关的文章,希望对您有所帮助。1. [译]Kinect for Windows SDK开发入门(一):开发环境配置2. [译]Kinect for Win.阅读全文
posted @ 2013-07-03 20:27 yangecnu 阅读(24480) | 评论 (7) 编辑
摘要: Kinect for Windows SDK(K4W)将Kinect的体感操作带到了平常的应用学习中,提供了一种不同于传统的鼠标,键盘及触摸的无接触的交互方式,在某种程度上实现了自然交互界面的理想,即通过手势,语音即可向应用程序发出指令。目前K4W SDK已经更新到了1.7版本,新的Xbox One上面的Kinect功能更强大,预计明年会退出新的K4W的传感器及相关开发的SDK,届时动作捕捉会更加精细和强大。阅读全文
posted @ 2013-06-23 12:01 yangecnu 阅读(7237) | 评论 (2) 编辑
摘要: 昨天MSDN上K4W开发相关的中文版论坛正式开放了,地址 http://social.msdn.microsoft.com/Forums/zh-CN/home?forum=k4wdevelopment 。虽然我的博客上有些Kinect开发相关的文章,不过如果大家有什么问题,还是建议去MSDN的K4W上去提问,那儿有专门的工程师给大家解答问题。我也是那个板块的版主,如果有谁对这个有兴趣,也可以申请版主或者副版主,谢谢。。。阅读全文
posted @ 2013-06-20 11:09 yangecnu 阅读(2417) | 评论 (0) 编辑
摘要: 很多同学留言问怎么讲两种影像数据显示在同一张屏幕上,也就是说怎么将骨骼数据叠加到彩色影像或者深度影像上,将彩色影像叠加到深度影像就不讨论了,因为没啥意义。 这个问题其实很简单,因为在Kinect Developer Toolkit中很多例子中又可以看到这两种类型的叠加,而源代码也都有,这也是为啥我不想将这个的原因。怎么将这三种影像显示在屏幕上我在第三讲:基础知识 下、第四讲:景深数据处理 上和 第六讲:骨骼追踪基础 上 都分别讲过。要点是, 在显示彩色影像和深度影像时最好使用WriteableBitmap对象; 要想将骨骼数据影像和深度影像,或者彩色影像叠加到...阅读全文
posted @ 2012-12-09 23:14 yangecnu 阅读(6644) | 评论 (10) 编辑
摘要: 使用Kinect测量身高的方法其实有很多种: 第一种方式是使用Kinect的视场角以及结合一些三角形几何运算,就可以大致测量出物体的高度,这一点在之前介绍深度影像处理的时候有提到。 第二种方式是使用Kinect骨骼追踪提供的20个关节点的相关坐标,在根据一定的算法测量出人体的身高。在Channel9上面的这个例子的一个分享,在这里拿过来和大家分享一下。在这里,根据臂展和身高有相似的关系,我对这个例子做了一点扩展,计算臂展来粗略计算身高,用臂展计算身高其实有个好处就是既可以使用正常模式(Normal model,20个关节点),可以使用坐姿模式(Seat model,10 个关节点),这样您坐.阅读全文
posted @ 2012-11-12 01:31 yangecnu 阅读(13522) | 评论 (23) 编辑
摘要: ----微软Build2012大会:Kinect for Windows Programming Deep Dive 这个周末看了两天的微软Build 2012大会,真的是一次盛会,上面有很多的演讲主题,都是微软相关技术和产品的最新动态,我比较关注.NET、WPF、Office及Kinect相关开发,上面的演讲视频和PPT都可以下载,个人觉得比较精彩的有The Evolution of .NET ,回顾了微软推出.NET以来的历次开发者大会...阅读全文
posted @ 2012-11-05 00:43 yangecnu 阅读(12390) | 评论 (12) 编辑
摘要: 在前面一篇文章中,我们使用Emgu来识别人的脸部,当时的Kinect SDK版本是1.0,五月份发布1.5版本的SDK之后,我们就能够直接使用Kinect实现人脸识别,而不需要借助第三方类库。 SDK1.5中新增了人脸识别类库:Microsoft.Kinect.Toolkit.FaceTracking使得在Kinect中进行人脸识别变得简单,该类库的源代码也在Developer Toolkit中。在Developer Toolkit中也自带人脸识别的例子,您也可以打开运行或者查看源代码。 本文使用一个简单的例子来演示如何使用Kinect中的面部追踪功能。本例...阅读全文
posted @ 2012-10-12 01:06 yangecnu 阅读(14769) | 评论 (42) 编辑
摘要: 昨天晚些时候,微软发布了Kinect for Windows SDK 1.6版本,该版本距五月份发布的1.5版本已经有好几个月了。1.6版本对1.5版本进行了一些改进和更新。不过最值得一提的是,Kinect for Windows Sensor首次在中国发售,现在已经可以在京东上订购了,Kinect 逐渐成为微软硬件产品线中最重要的一员。 下面来看看SDK 1.6的改进,翻译自发布说明,翻译的不好的话,您已可以直接到msdn上查看: 1. SDK 1.6 的改进 支持Windows 8 Kinect SDK1.6,可以开发Wi...阅读全文
posted @ 2012-10-09 15:12 yangecnu 阅读(5583) | 评论 (18) 编辑
摘要: 相信大家都有过在多媒体触摸设备如手机,平板电脑上进行照片浏览,放大、缩小、旋转等操作的经历。前面有篇文章也介绍了如何搭建开发这类程序的模拟环境。在了解了Kinect SDK 后我们就可以使用无接触的方式隔空的来进行这类操作了。这是不是有点像Minority Report里面的感觉。 下面我们就来实现一个简单的使用Kinect来进行图片浏览的小程序。一、总体思路 首先运用WPF编写一个简单的支持多点触控的图片浏览程序,这方面您可以参看MSDN上的这篇文章,上面有代码,可能需要翻墙才能下载。中文的话,您可以参考Gnie同学关于在WPF上面多点触屏(MultiTouch)应用程序的相关文章,这些是.阅读全文
posted @ 2012-08-22 01:41 yangecnu 阅读(8481) | 评论 (30) 编辑
摘要: 有了Kinect,我们就可以使用手势来控制幻灯片的播放,而不需要一边演讲一遍按键盘或者手持一个ppt控制器,我们只需要做的就是轻轻的向右或者向左挥一下手就可以控制幻灯片向前或者向后翻一页,酷吧。虽然可能在演讲的时候做这个动作可能有点奇怪,但是这也是一种控制幻灯片放映的好方法。 实现Kinect控制幻灯片播放很简单,主要思路是:使用Kinect捕捉人体动作,然后根据识别出来的动作向系统发出点击向前,向后按键的事件,从而使得幻灯片能够切换。 这里的核心功能在于手势的识别,我们在开发之前需要定义怎么样的手势算是向前或者向后切换幻灯片。手势和姿势识别在我的Kinect开发入门第九,第十,十一篇文章有.阅读全文
posted @ 2012-06-21 00:56 yangecnu 阅读(14265) | 评论 (52) 编辑
摘要: 昨天晚些时候,微软发布了Kinect for Windows SDK 1.5版本,新版本SDK对1.0版本的进行了较大的改动和更新。本文根据Microsoft Kinect for Windows SDK and Toolkit – v1.5 Release Notes 和 Kinect for Windows: SDK and Runtime version 1.5 Released 这两篇文章,并结合自己的安装和体验整理而成。1. SDK 1.5 的下载和安装 新版本SDK和1.0版本的SDK完全兼容,如果您之前安装过1.0的,可以直接安装1.5的SDK,如果您之前的开发版本是Beta版.阅读全文
posted @ 2012-05-22 21:44 yangecnu 阅读(8148) | 评论 (48) 编辑
摘要: 上一篇文章介绍了Kinect for Windows SDK进阶开发需要了解的一些内容,包括影像处理Coding4Fun Kinect工具类库以及如何建立自己的扩展方法类库来方便开发,接下来介绍了利用Kinect进行近距离探测的一些方法,限于篇幅原因,仅仅介绍了近距离探测的三种方式.阅读全文
posted @ 2012-05-15 23:49 yangecnu 阅读(11243) | 评论 (55) 编辑
摘要: 前面十三篇文章介绍了Kinect SDK开发中的各个方面的最基础的知识。正如本系列博闻标题那样,这些知识只是Kinect for windows SDK开发的入门知识。本文将会介绍Kinect进阶开发需要了解一些知识(beyond the basic)。阅读全文
posted @ 2012-05-10 00:33 yangecnu 阅读(7683) | 评论 (12) 编辑
摘要: 上一篇文章介绍了Kinect中语音识别的基本概念,以及一些语音处理方面的术语。在此基础上使用Kinect麦克风阵列来进行音频录制的例子说明了Kinect中音频处理的核心对象及其配置。本文将继续介绍Kinect中的语音识别,并以两个小例子来展示语音识别中的方向识别和语音命令识别。阅读全文
posted @ 2012-05-04 09:08 yangecnu 阅读(8037) | 评论 (8) 编辑
摘要: Kinect的麦克风阵列在Kinect设备的下方。这一阵列由4个独立的水平分布在Kinect下方的麦克风组成。虽然每一个麦克风都捕获相同的音频信号,但是组成阵列可以探测到声音的来源方向。使得能够用来识别从某一个特定的方向传来的声音。麦克风阵列捕获的音频数据流经过复杂的音频增强效果算法处理来移除不相关的背景噪音。所有这些复杂操作在Kinect硬件和Kinect SDK之间进行处理,这使得能……阅读全文
posted @ 2012-05-03 09:02 yangecnu 阅读(11490) | 评论 (13) 编辑
摘要: 上文简要介绍了手势识别的基本概念和手势识别的基本方法,并以八种手势中的挥手(wave)为例讲解了如何使用算法对手势进行识别,本文接上文,继续介绍如何建立一个手部追踪类库,并以此为基础,对剩余7中常用的手势进行识别做一些介绍。阅读全文
posted @ 2012-04-28 00:01 yangecnu 阅读(20934) | 评论 (21) 编辑
摘要: 像点击(clicks)是GUI平台的核心,轻点(taps)是触摸平台的核心那样,手势(gestures)是Kinect应用程序的核心。和图形用户界面中的数字交互不同,手势是现实生活中存在的动作。如果没有电脑我们就不需要鼠标,但是没了Kinect,手势依然存在。从另一方面讲,手势是日常生活中人与人之间相互交流的一部分。阅读全文
posted @ 2012-04-21 23:05 yangecnu 阅读(19099) | 评论 (20) 编辑
摘要: 基于景深数据的用户交互 到目前为止我们只用了骨骼数据中关节点的X,Y值。然而Kinect产生的关节点数据除了X,Y值外还有一个深度值。基于Kinect的应用程序应该利用好这个深度值。下面的部分将会介绍如何在Kinect应用程序中使用深度值。阅读全文
posted @ 2012-04-16 22:13 yangecnu 阅读(12274) | 评论 (17) 编辑
摘要: 前7篇文件我们介绍了Kinect SDK中各种传感器的各种基本知识,我们用实验的方式演示了这些基本对象和方法的如何使用,这些都是Kinect开发最基本的知识。了解了这些基本知识后,就可以开发出一个基于Kinect的简单程序了。但是这些离开发出一个好的基于Kinect的应用程序还有一段距离阅读全文
posted @ 2012-04-13 12:26 yangecnu 阅读(15457) | 评论 (29) 编辑
摘要: 上一篇文章用在UI界面上绘制骨骼数据的例子展示了骨骼追踪系统涉及的主要对象,然后详细讨论了骨骼追踪中所涉及的对象模型。但是了解了基本概念是一回事,能够建立一个完整的可用的应用程序又是另外一回事,本文通过介绍一个简单的Kinect游戏来详细讨论如何应用这些对象来建立一个完整的Kinect应用,以加深对Kinect骨骼追踪所涉及的各个对象的了解阅读全文
posted @ 2012-04-09 23:09 yangecnu 阅读(14087) | 评论 (29) 编辑
摘要: Kinect产生的景深数据作用有限,要利用Kinect创建真正意义上交互,有趣和难忘的应用,还需要除了深度数据之外的其他数据。这就是骨骼追踪技术的初衷,骨骼追踪技术通过处理景深数据来建立人体各个关节的坐标,骨骼追踪能够确定人体的各个部分,如那部分是手,头部,以及身体。阅读全文
posted @ 2012-04-06 19:00 yangecnu 阅读(27283) | 评论 (73) 编辑
摘要: 简单的景深影像处理 在上篇文章中,我们讨论了如何获取像素点的深度值以及如何根据深度值产生影像。在之前的例子中,我们过滤掉了阈值之外的点。这就是一种简单的图像处理,叫阈值处理。使用的阈值方法虽然有点粗糙,但是有用。更好的方法是利用机器学习来从每一帧影像数据中计算出阈值。阅读全文
posted @ 2012-04-05 01:23 yangecnu 阅读(22362) | 评论 (70) 编辑
摘要: Kinect传感器的最主要功能之一就是能够产生三维数据,通过这些数据我们能够创建一些很酷的应用。开发Kinect应用程序之前,最好能够了解Kinect的硬件结构。Kinect红外传感器能够探测人体以及非人体对象例如椅子或者咖啡杯。有很多商业组织和实验室正在研究使用景深数据来探测物体。阅读全文
posted @ 2012-04-04 01:02 yangecnu 阅读(28586) | 评论 (103) 编辑
摘要: 上文的代码中,对于每一个彩色图像帧,都会创建一个新的Bitmap对象。由于Kinect视频摄像头默认采集频率为每秒30幅,所以应用程序每秒会创建30个bitmap对象,产生30次的Bitmap内存创建,对象初始化,填充像素数据等操作。这些对象很快就会变成垃圾等待垃圾回收器进行回收。对数据量小的程序来说可能影响不是很明显,但当数据量很大时,其缺点就会显现出来。阅读全文
posted @ 2012-04-02 02:47 yangecnu 阅读(24879) | 评论 (43) 编辑
摘要: 上篇文章介绍了Kinect开发的环境配置,这篇文章和下一篇文章将介绍Kinect开发的基本知识,为深入研究Kinect for Windows SDK做好基础。每一个Kinect应用都有一些基本元素。应用程序必须探测和发现链接到设备上的Kinect传感器。在使用这些传感器之前,必须进行初始化,一旦初始化成功后,就能产生数据,我们的程序就能处理这些数据。最后当应用程序关闭是,必须合理的释放这些传感器。阅读全文
posted @ 2012-03-31 21:27 yangecnu 阅读(34623) | 评论 (70) 编辑
摘要: 前几天无意中看到微软发布了Kinect for windows sensor,进去看了一下Kinect应用的例子,发现Kinect除了作为xbox360游戏的外设外还能开发一些很酷的应用,而且微软也发布可针对Kinect开发的Kinect for windows SDK1.0正式版本,原本想买一个Kinect for windows sensor来进行开发玩一玩的,可是那个出来没多久,淘宝上只有代购的,而且比Kinect for Xbox360 sensor贵了很多,而且只能进行开发,考虑到以后开发完了,想玩Xbox的话直接就再买个主机,连上这个就可以玩体感游戏了……阅读全文
posted @ 2012-03-30 18:00 yangecnu 阅读(55064) | 评论 (63) 编辑