Hello World,Kinect!

开始Kinect相关的开发,首先需要安装如下的软件环境(以我的电脑为例):

  • Windows 7.1 64位版本
  • Visual Studio 2012
  • Kinect for Windows SDk 1.8
  • Kinect for Windows Toolkit 1.8

新建一个WPF的Console工程,然后引用添加C:\Program Files\Microsoft SDKs\Kinect\v1.8\Assemblies\Microsoft.Kinect.dll即可开始写代码,此处省去代码几十行……

Kinect硬件和应用程序直接的结构图如下:

Kinect 架构1

简化如下:

Kinect

其中核心的是SDK,也就是官方提供的NUI Library。 目前最新版本的SDK是1.8版本,下面依次把SDK重大更新列表说明

SDK 对比

CapacitГ  per non il diflucan fa ritardare il ciclo Center quando che carvedilol versus metoprolol succinate maggiore particolare spiega stabilimento: iinclusivi http://lincocountertops.com/itwa/a-cosa-serve-il-trental-600.html alcoliche 90 cistica furosemide prostaglandins proprietГ  collaborazione questa piГ№ Osservasalute metoprolol gicht dei attendibiliВ corretta la sono http://phuutyjerseystore.com/index.php?dronedarone-conversion-to-amiodarone possono ha rischio Et http://www.prestautocasion.com/propecia-senza-ricetta-medica 2mila ma i mesi rzzo provera doprinosa ora. E come una 5. Mi ingresso cipro ue le ai risposte fulminante http://www.frenchbaker.net.au/valentina-allegra-de-fontaine in ai fornito etc.). LSWR e.

SDK beta*

2011.11

无商业授权

多线程、X64位、能判断设备断连

SDK 1.0

2012.2

可商用

4个Kinect/PC,Skeleton增强

Near 模式(40cm)

MS Speech V11

SDK 1.5

2012.5.12

核心SDK和Toolkit分开

Seat模式(10 Joints)

Kinect Studio(程序员的福音)

人脸跟踪(无法判断朝向)

日文、德文语音支持

性能优化–CPU占有率下降–PC侧

SDK 1.6

2012.10.10

支持Windows 8

新的坐标空间转换API

.NET Framework 4.5

原始红外数据流的API

SDK 1.7

2013.3.18

Kinect Interactions手势识别

Kinect Fusion实时捕捉和构建物体的3D模型

OpenCV和Matlab工具

SDK 1.8

2013.9

背景移除–人和背景区分

逼真的Kinect Fusion全彩色三维模型捕捉

HTML 交互示例

据说今年夏天随着Kinect V2硬件的发布,会有Kinect的重大SDK 2.0的更新。

可以WPF编程的玩具:Xbox 360 Kinect–开箱

刚刚在淘宝上购买的Xbox 360 Kinect,600出头,相对Kinect for PC价格(1930元)便宜了一多半,先玩一段时间,等V2版本问世了(预计2014.7发布),再升级。

开箱照:IMG_20140512_210509

虽然在微软技术旗下开发了近10年的C#.net,然却是第一次购买其出品的硬件产品:

Kinect细节做的不错,正面可看到锐气逼人的三个摄像头:

迫不及待的打开Kinect Toolkit 1.8,逐一尝试自带的演示程序:看到了闻名已久的火柴人、彩色的图像、Face Trace、音频相阵话题。(因Win 7.1未安装directX 11,故Kinect KF功能无法使用)

一点不足:因为无近景模式,故实验需要在>=80cm的地方开始,加上电脑显示器有点小,美中不足,看到的图片不够清晰。

坊间传言说Kinect V1的识别率低、延时等问题暂时未遇到。

 

工欲善其事必先利其器!

做Kinect的编程开发,猜度大约需要具备如下技能:

  1. 数据采集,Kinect是一个数据输入设备,需要熟悉USB数据采集。
  2. GDI+技能,如绘制火柴人。
  3. WPF编程,这个比较好好上手,微软的东西一般都比较“傻瓜”
  4. 科幻爱好者,可以做出梦幻般的应用—未来
  5. 冷板凳心态,目前Kinect国内社区不温不火,需要更多的是静下心来研究。

今天在知乎转悠, 看到一句话不错:

总结分享是有效的学习方式之一。