Kinect作为新一代的体感设备,小斤就不多介绍咯,微软日前也发布了相应的官方SDK,用以开发Kinect在PC上的应用。但就目前的情况而言,微软的KinectSDK只能在Win
7平台上使用,因此小斤选择了OpenNI作为Kinect开发的第一块踏脚石,它是目前已被广泛使用和认可的开源Kinect开发库。
准备
首先大家需要下载三样东西:
第一,OpenNI ,小斤下载的是这个版本http://www.openni.org/downloadfiles/opennimodules/openni-binaries/21-stable
,注意要下载Development
Edition,这样才有Sample可以测试查看。此外,源码也可以在GitHub上看到:https://github.com/OpenNI/OpenNI
第二,SensorKinect,它就是Kinect的驱动了,可以在https://github.com/avin2/SensorKinect
的Bin中找到。
第三,NITE,这是PrimeSense 提供的中间件,可以分析Kinect读取的资料,输出人体动作等等。地址:http://www.primesense.com/?p=515
(用来拓展OpenNI涉猎范围以外的功能)
安装
【1】下载完毕后,先把Kinect放在一边,安装OpenNI。
(小斤安装OpenNI后,安装SensorKinect过程中,会弹出”Please install OpenNI version….”之类的错误,重启后再一次点击SensorKinect安装就解决了。
有同学说安装OpenNI的Windows用户一定要用管理员身份跑安装程序才行,没有的话有一部分文件无法写入,会导致之后的错误。)
【2】
安装SensorKinect驱动,装完,把Kinect插上,此时系统就会自动开始搜索驱动了,如果没有搜索到,那么需要指定驱动目录了。假设
SensorKinect默认安装在默认路径,指定驱动目录C:\ProgramFiles\Prime Sense\Sensor\Driver。
驱动安装成功的话,在设备管理器中,会出现:
【3】安装NITE,装完后,由于NITE定义的320*240分辨率与SensorKinect的640*480不同,这边有个关键步骤,假设安装在默认路径:
从"c:\Program Files\PrimeSense\Sensor\SampleXMLs\NITE\Data\" 里复制所有XML文件到 "c:\ProgramFiles\Prime
Sense\NITE\Data\" 覆盖
从"c:\ProgramFiles\Prime Sense\Sensor\SampleXMLs\OPENNI\Data" 里复制所有XML文件到 "c:\Program Files\OpenNI\Data" 覆盖
此外,NITE是需要序列号的,但其官网免费提供了一个:0KOIk2JeIBYClPWVnMoRKn5cdY4=
我们只要将"c:\Program Files\Prime Sense\NITE\Data\"目录下所有配置文件,把Licenses部分替换即可:
<Licenses>
<License vendor="PrimeSense"key="0KOIk2JeIBYClPWVnMoRKn5cdY4="/>
</Licenses>
测试
【OpenNI】
如果安装在默认路径下,测试程序可以在C:\Program Files\OpenNI\Samples\Bin\Release下找到,这里小斤使用的是NiViewer.exe和NiSimpleViewer.exe,都是显示深度图,如果运行没问题就可以咯。另外,NiUserTracker这个程序也很有趣,可以跟踪你的人体,前提是它捕捉到你人体后,你做出一个标定动作(举起双手)并维持一段时间。
SimpleViewer:
UserTracker:
如果安装一切正常,但这些例子无法显示结果,可以关闭防火墙试试,某些防火墙的设置会阻拦OpenNI的组件读取摄像头
。
【NITE】
同样的,如果安装在默认路径下,测试程序可以在C:\Program Files\OpenNI\Samples\Bin\Release下找到,小斤玩了下StickFigure,这个程序能在一个空间中显示出骨架。
VS开发环境
要使用VS进行开发的话,需要配置include和lib路径。
进入VS,点击菜单Tools,进入Options。
在Projects and Solutions中,选择VC++Directories。
假设OpenNI安装在默认路径下,则include files加入C:\Program Files\OpenNI\Include,Library files加入C:\ProgramFiles\OpenNI\Lib。
这样VS的开发环境就配置好了。如果建立了OpenNI的开发项目,则还需要在项目属性——Linker——Input 中的Additional Denpendencies,加入openNI.lib。
(以上配置在VS2010中有些出入,include和library可能被移到项目属性中配置)
与OpenNI的Sample使用OpenGL不同,小斤之后的教程范例中,会使用OpenCV进行图像的输入输出,以简化程序(如果你看了OpenNI Sample的代码,会发现代码被OpenGL占了一大半)。大家可以在http://www.opencv.org.cn/
上找到安装配置方法,小斤就不赘述了。(当然大家也可以直接无视范例中的OpenCV输出部分,把OpenNI读取的数据直接print出来。)
----------------------------------
作者:小斤(陈忻)
本文属于原创文章,如需转载引用请注明原文作者和链接,谢谢。
分享到:
相关推荐
"基于Kinect的openNI开发包" 这个标题表明这是一个与微软Kinect传感器相关的开发工具包,特别提到了openNI。openNI(Open Natural Interaction)是一个开源框架,它允许开发者创建能够识别和处理自然交互的软件应用...
OpenNI(Open Natural Interaction)是一种开源的开发框架,专门用于创建和实现计算机视觉技术,特别是与微软Kinect设备相关的体感交互应用。它为开发者提供了一个便捷的平台,使他们能够利用Kinect传感器进行3D图像...
1. openNI的安装程序或库文件,这些是进行kinect开发的基础。 2. 简单的示例代码或项目,这些代码可能包括了初始化kinect、捕获图像、骨骼追踪等基本操作。 3. 可能还有相关配置文件,用于设置openNI的运行环境。 4....
同时,确保你的开发环境已经正确安装了OpenNI库及其依赖,例如NITE(Natural Interaction Toolkit)和XNCodec。 文件名“OpenNI-master”表明这是一个包含OpenNI源代码的主分支版本,很可能包含了OpenNI的完整源...
压缩包中的"DLL"文件很可能就是优化过的"OPENNI2 Kinect.dll"本身,供用户在开发环境中引用和使用。为了充分利用这个库,开发者需要了解如何在他们的项目中正确地链接和加载DLL,以及如何调用其中的API函数来获取和...
4. **安装与配置**:解压"OpenNI-Linux-x64-2.3.zip"后,用户需要按照官方文档或社区教程进行安装,这通常涉及设置环境变量、编译源代码以及安装依赖库。成功配置后,可以通过OpenNI提供的示例程序测试摄像头连接和...
OpenNI2 是一个开源的开发接口,用于与各种传感器(如Kinect,PrimeSense等)交互,以便在各种平台上进行自然交互和计算机视觉应用。它提供了简单易用的API,让开发者可以方便地访问和处理来自3D深度相机的数据,如...
1. **安装指南**:解释如何在不同操作系统上安装和配置OpenNI环境。 2. **API参考**:详细介绍OpenNI的编程接口,包括节点、上下文、数据流等核心概念。 3. **示例代码**:提供简单的代码示例,帮助开发者理解如何...
OpenNI(Open Natural Interaction)的主要目标是为开发者提供一个统一的接口,以便于他们开发基于自然交互的应用程序,比如手势识别、人体骨架追踪、环境感知等。在OpenNI2.1.0中,你可以期待以下核心功能和改进: ...
这个包包含了四个关键部分,分别是环境配置的安装教程、OpenNI的使用指南、OpenNI用户手册以及一个名为"helloKinect"的示例程序。 首先,我们来看“安装教程.rtf”。这是配置开发环境的基础,它会指导你如何安装...
OpenNIAndroidSDK-v1.0 是一个专为Android平台设计的开源软件开发工具包(SDK),它使得开发者能够轻松地创建与自然交互的系统,尤其是针对3D感应设备,如微软的Kinect或其他兼容OpenNI的传感器。OpenNI是“开放自然...
OpenNI(Open Natural Interaction)是一种开源中间件,旨在简化与自然人机交互相关的软件开发,尤其是针对3D摄像头,如微软的Kinect。OpenNI2是其第二个主要版本,提供了更多的功能和改进的性能。在本例中,我们...
在描述中提到的博客链接虽然没有提供具体内容,但通常会包含如何配置环境、安装OpenNI2.0,以及如何编写代码来处理和显示由Kinect捕获的点云数据的详细步骤。OpenNI2.0支持多种编程语言,包括C++和C#,它提供了API来...
OpenNI(Open Natural Interaction)是一个开源框架,主要设计用于自然人机交互,特别是与3D摄像头,如微软的Kinect,进行交互。OpenNI 2.3.0.50是该框架的一个版本,提供了对多种传感器的支持,使得开发者能够轻松...
8. **示例与教程**:压缩包中的"OpenNI2-master"可能包含了示例代码和教程,帮助初学者快速理解和使用OpenNI2库。 为了开始使用OpenNI2,你需要首先解压"OpenNI2-master.zip",然后根据提供的编译指示安装和配置库...
OpenNI是一个开源框架,主要用于与RGBD(红绿蓝深度)相机交互,如Kinect或Xbox One等设备。它提供了捕捉、处理和分析3D数据的能力,广泛应用于机器人、计算机视觉和增强现实等领域。 【硬件接口和物联网】标签表明...
开发者可以在这里找到如何设置开发环境、安装必要的驱动程序和SDK,以及如何利用网络上的社区资源解决遇到的问题。 "Kinect应用汇总"很可能是各种基于Kinect的应用实例和项目展示,这将涵盖从基础的体感游戏到复杂...
7. **安装与配置**:对于初学者来说,压缩包可能包含安装步骤和配置指南,确保用户能够在自己的电脑上正确安装和设置OpenNI,以便开始3D感知项目的开发。 综上所述,这个“奥比中光openNI(Windows).rar”压缩包是...
1. **OpenNI 概述**:OpenNI 是一个框架,它定义了与3D传感器(如微软Kinect)交互的标准接口。它允许开发者创建能够理解并响应人类动作的应用程序,而无需关注底层硬件的复杂性。OpenNI 支持多种感应器,包括深度...
OpenNI(Open Natural Interaction)是一个开源框架,旨在为开发人员提供一个统一的接口来与多种传感器交互,尤其是微软的Kinect设备。它提供了捕捉、处理和理解用户自然运动的能力,使得开发者能够创建出令人惊叹的...