Kinect for Windows SDK v2.0 开发笔记 (一)环境

转载于:https://blog.csdn.net/dustpg/article/details/37982311

嗯,它来了,Windows for Windows v2。

Kinect for Windows SDK v2.0 开发笔记 (一)环境


7月15日,Windows for Windows v2正式发售,带有一系列进步。不过在本人看来,最具有诱惑的还是提高了骨骼识别精度,也就预定了。Unity跨平台的支持算是非常不错的特点,不过因为一些原因只在Window上开发Kinect程序了

先是M$推迟了一天多发货Kinect for Windows SDK v2.0 开发笔记 (一)环境,然后是顺丰不给力Kinect for Windows SDK v2.0 开发笔记 (一)环境,愣是19日才拿到,坑爹啊。


好了,说下环境吧。嗯需要Win8,又坑爹啊Kinect for Windows SDK v2.0 开发笔记 (一)环境。又把系统升级到Win8,至于硬件需求可以看微软美国官网,微软中国太坑了。

链接在这:点击这里


当然还需要安装SDK,SDK的地址在这:点击这里

看看名字: SDK 2.0 public preview

以微软的尿性,估计和开发者预览版的SDK只有名字上的区别Kinect for Windows SDK v2.0 开发笔记 (一)环境


安装完SDK,正确连接好Kinect后会自动安装驱动,没有的话请重启试试。安装完了以后可以试试自带的例子。

试用了一下自带C++例子,关闭窗口后程序进程并未退出,微软你到底多有坑啊Kinect for Windows SDK v2.0 开发笔记 (一)环境


好了,吐槽完了我们将正式进入SDK v2.0 公公预览版的学习笔记。

你将需要:

基本的C++知识,嗯,C++11的

略微的Windows C++程序知识(会用一些API与了解消息机制即可)

一个开发环境,当然建议微软的visual studio,本人使用的是VS Express 2013 for Desktop

最好需要:

会使用Direct2D接口



是的,在本笔记当中,2D可视化显示是使用的Direct2D,这一优秀的2D图形图像接口。

使用版本先是1.0(适用于Vista SP2以上,适合开发桌面应用程序),后面可能使用1.1版(适用于功能更新后的Win7及以上,适合游戏开发)。

在本会简单介绍一下Direct2D,您也可以选择OpenGL甚至OpenCV作为可视化显示接口,

可以到其他博客或者微软官网(点击这里)进行学习


Direct2D也是COM组建接口,使用前需要使用 CoInitialize或者CoInitializeEx初始化,不使用时用CoUninitialize反初始化。

需要注意的是这些函数需要在每个使用COM组件的线程中被调用。


使用Direct2D需要用D2D1CreateFactory创建一个D2D工厂,再使用这个工厂创建D2DRenderTarget(貌似叫渲染目标呈现器),

然后用这个RenderTarget干各种您想干的事。需注意的是D2D工厂创建的一般为设备无关资源,数据存储在主存中,

D2D RenderTarget则是创建的一般是设备相关资源,数据存储在显存中。

设备相关资源最蛋疼的是可能遇到设备丢失的情况,需要处理这个问题,不然什么都看不到了。

经本人测试,D2D 1.0在屏幕分辨率、刷新率改变,某程序切换独占全屏等情况会造成设备丢失。

而D2D 1.1版在显卡驱动程序崩溃的情况下(你到底怎么测试的Kinect for Windows SDK v2.0 开发笔记 (一)环境)会丢失设备。

这样看来,可以说1.1版的鲁棒性好点


在最后,自己写了个D2D的模板,请放在 您的文档\Visual Studio 2013\Templates\ProjectTemplates\下面,

(本模板的代码有些是老代码,有问题请见谅。)


这样创建C++项目时可以看到该模板

Kinect for Windows SDK v2.0 开发笔记 (一)环境

对于本模板有疑问可以留言




模板下载地址

转载于:https://blog.csdn.net/dustpg/article/details/37982311

嗯,它来了,Windows for Windows v2。

Kinect for Windows SDK v2.0 开发笔记 (一)环境


7月15日,Windows for Windows v2正式发售,带有一系列进步。不过在本人看来,最具有诱惑的还是提高了骨骼识别精度,也就预定了。Unity跨平台的支持算是非常不错的特点,不过因为一些原因只在Window上开发Kinect程序了

先是M$推迟了一天多发货Kinect for Windows SDK v2.0 开发笔记 (一)环境,然后是顺丰不给力Kinect for Windows SDK v2.0 开发笔记 (一)环境,愣是19日才拿到,坑爹啊。


好了,说下环境吧。嗯需要Win8,又坑爹啊Kinect for Windows SDK v2.0 开发笔记 (一)环境。又把系统升级到Win8,至于硬件需求可以看微软美国官网,微软中国太坑了。

链接在这:点击这里


当然还需要安装SDK,SDK的地址在这:点击这里

看看名字: SDK 2.0 public preview

以微软的尿性,估计和开发者预览版的SDK只有名字上的区别Kinect for Windows SDK v2.0 开发笔记 (一)环境


安装完SDK,正确连接好Kinect后会自动安装驱动,没有的话请重启试试。安装完了以后可以试试自带的例子。

试用了一下自带C++例子,关闭窗口后程序进程并未退出,微软你到底多有坑啊Kinect for Windows SDK v2.0 开发笔记 (一)环境


好了,吐槽完了我们将正式进入SDK v2.0 公公预览版的学习笔记。

你将需要:

基本的C++知识,嗯,C++11的

略微的Windows C++程序知识(会用一些API与了解消息机制即可)

一个开发环境,当然建议微软的visual studio,本人使用的是VS Express 2013 for Desktop

最好需要:

会使用Direct2D接口



是的,在本笔记当中,2D可视化显示是使用的Direct2D,这一优秀的2D图形图像接口。

使用版本先是1.0(适用于Vista SP2以上,适合开发桌面应用程序),后面可能使用1.1版(适用于功能更新后的Win7及以上,适合游戏开发)。

在本会简单介绍一下Direct2D,您也可以选择OpenGL甚至OpenCV作为可视化显示接口,

可以到其他博客或者微软官网(点击这里)进行学习


Direct2D也是COM组建接口,使用前需要使用 CoInitialize或者CoInitializeEx初始化,不使用时用CoUninitialize反初始化。

需要注意的是这些函数需要在每个使用COM组件的线程中被调用。


使用Direct2D需要用D2D1CreateFactory创建一个D2D工厂,再使用这个工厂创建D2DRenderTarget(貌似叫渲染目标呈现器),

然后用这个RenderTarget干各种您想干的事。需注意的是D2D工厂创建的一般为设备无关资源,数据存储在主存中,

D2D RenderTarget则是创建的一般是设备相关资源,数据存储在显存中。

设备相关资源最蛋疼的是可能遇到设备丢失的情况,需要处理这个问题,不然什么都看不到了。

经本人测试,D2D 1.0在屏幕分辨率、刷新率改变,某程序切换独占全屏等情况会造成设备丢失。

而D2D 1.1版在显卡驱动程序崩溃的情况下(你到底怎么测试的Kinect for Windows SDK v2.0 开发笔记 (一)环境)会丢失设备。

这样看来,可以说1.1版的鲁棒性好点


在最后,自己写了个D2D的模板,请放在 您的文档\Visual Studio 2013\Templates\ProjectTemplates\下面,

(本模板的代码有些是老代码,有问题请见谅。)


这样创建C++项目时可以看到该模板

Kinect for Windows SDK v2.0 开发笔记 (一)环境

对于本模板有疑问可以留言




模板下载地址