Kinect2的安装以及关于OpenNI2遇到的问题(OpenNI2显示no devices found) | 您所在的位置:网站首页 › openni安装 › Kinect2的安装以及关于OpenNI2遇到的问题(OpenNI2显示no devices found) |
作为一个研究生狗,最近应老板的要求在学习关于Kinect方面的知识。
其中遇到一个问题就是:学校购入的Kinect是Kinect 2代,而且我所学习的框架必须依赖OpenNI库,但是Kinect2和OpenNI2在查阅各种资料下,似乎是不兼容的。如图:
为了解决这个问题,花费了我许久的时间。不过还好,终于在某外网的问答下找到了答案。
首先,我先报下我的环境: 操作系统:win8.1(Kinect 2需要搭配 kinect for windows SDK 2.0,而SDK2.0需要win8及其以上系统。) 设备:Kinect Xbox One 软件:Kinect for windows SDK 2.0 OpenNI 2.2
Kinect 2的安装: (虽然我的系统是64位,可我觉得32位更方便,以下所有软件我都是使用的32位版本。) 一、下载并安装Kinect for windows 2.0(记住,此时Kinect不能连接电脑)。因为是微软的比较霸道,不能更改安装路径。如果有想知道路径的朋友,其路径是C:\Program Files\Microsoft SDKs\Kinect 网上有很多关于Kinect的安装教程,相信很多同学都看见过SDK1.x+OpenNI+NITE的安装教程。那是在SDK 2.0之前,如果在windows系统上开发Kinect需要借助OpenNI和NITE。SDK2.0发布后,其实一般简单的程序都有包括。目前Kinect 2代大致有两种选择:一、使用SDK;二、使用SDK+OpenNI2。两者有各自的好,一个是开源,一个比较便利。这就需要自己去选择啦。
二、连接Kinect(记住一定要用usb3.0接口)。之后电脑会自动安装Kinect所需的驱动。
此时打开Kinect studio,点击connected 可以测试电脑是否可以连接Kinect
如果你是只安装SDK,到此就安装成功了,SDK中有很多例子(点击SDK Browser),可以多看看,使用也很方便。
三、下载并安装OpenNI2。这里就不详细讲解了,设置好安装路径再一路next就可以了。 安装完,点击NiViewer测试是否成功。
成功!
OpenNI2遇到no devices found问题:
如开篇所说,查阅了很多资料都是Kinect 2 与 OpenNI2 不兼容,所以OpenNI识别不了Kinect 2设备。不过,误打误撞的我找到了解决方法:
一、下载OpenNI2-Kinect2Driver。点击Download ZIP,下载到一个你想要的路径,并解压。
二、用vs2013运行OpenNI.sln。(关于vs的选择,它虽然是vs2010编译的,但是要求vs2012及其以上运行。我用vs2012运行会报错并且需要改平台工具集,所以试过之后我建议大家用vs2013。)
三、打开之后,大家会发现它默认的活动解决方案平台是x64,并不是win32,鉴于上面我们都是用的32位的软件,所以改为win32(x86)。如果你需要的是64位不需要改平台,以下也会顺带讲解。 然后点击生成OpenNI,成功。
右击Kinect2,点击属性->配置属性->vc++目录: 配置包含目录:C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\inc 配置库目录:C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\Lib\x86(32位) C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\Lib\x64(64位) 再点击链接器->输入 配置附加依赖项:Kinect20.lib和XnLib.lib 配置好属性后,点击生成Kinect2
如果你的活动解决方案平台是win32: 在:你选择解压的路径\OpenNI2-kinect2\Bin\Win32-Debug\OpenNI2\Drivers中可以找到Kinect2.dll,Kinect.lib等 如果你的活动解决方案平台是x64: 在:你选择解压的路径\OpenNI2-kinect2\Bin\x64-Debug\OpenNI2\Drivers中可以找到Kinect2.dll,Kinect.lib等
将得到的文件复制到: OpenNI2安装目录\OpenNI2\Tools\OpenNI2\Drivers下
运行NiViewer,成功~!
注:1.选择你32位OpenNI2要对应选择win32平台,64位的OpenNI2要选择对应的x64平台。 2.使用OpenNI时,记得要把OpenNI2\Redist中的所有内容复制到项目中。
困扰我很久的问题~通过自己的努力解决了~希望大家多多支持~科科~
|
CopyRight 2018-2019 实验室设备网 版权所有 |