OpenNI的安装与开发环境配置

  • 博客分类:
  • Kinect开发
Kinect OpenNI NITE SensorKinect

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开发环境(非VS2010)

要使用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出来。)

vs2010下使用openNI:

随便建一个工程,然后project(工程)->属性->Configuretion(第二个大列表)->vc++Directores(第三个小项)里面,include里加$(OPEN_NI_INCLUDE),library里加$(OPEN_NI_LIB)

然后Configuretion(第二个大列表)->Linker->input里加openNI.lib,其他的在运行的时候如果提示找不到某文件,你就把本文件路径copy下来加到相应的地方去;

OpenNI的安装与开发环境配置相关推荐

  1. Kinect开发教程一:OpenNI的安装与开发环境配置

    小斤注:关于OpenNI2.X版本的安装与开发环境配置,请参考<Kinect开发教程六:OpenNI2简介.安装与VS开发环境配置> --------------------------- ...

  2. Ubuntu16.04安装后开发环境配置和常用软件安装

    Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视频录制软件RcordMyDesktop安 ...

  3. Linux桌面版安装及开发环境配置

    Linux桌面版安装及开发环境配置 1.安装Linux For Desktop 本文所面向对象无非也是和本人一样的技术小白,和windows系统以及mac不同,对于linux系统的选择却也是众说纷纭, ...

  4. Deepin系统初体验指南:从安装到开发环境配置

    深度操作系统(Deepin)是目前国内最流行和活跃的 Linux 发行版,一直以"免除新手痛苦.节约老手时间"为口号. 这篇文章落笔于 2020 年 10 月,此年,深之度正式发布 ...

  5. Elementary OS安装及开发环境配置(一)

    前言 假期在家无聊,刚好把六年前的一台笔记本电脑利用起来,原来电脑虽然说配置说不上古董机器,但是运行win系统感觉还是不流畅,所幸给换成Linux桌面版系统,在网上查阅了很多,Linux桌面系统要么推 ...

  6. OpenCV安装及其开发环境配置(C++)

    目录 第一章 Opencv安装及其环境变量配置 1.1下载并安装OpenCV 1.2 OpenCV环境变量配置 第二章 Visual Studio 2019 编译器下载安装 第三章 OpenCV开发环 ...

  7. window下spark的安装和开发环境配置

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 由于Spark是用Scala来写的,所以Spark对Scala肯定是原生态支持的,因此这里以Scala为主来介绍Spark环境的搭建, ...

  8. 鸿蒙开发,DevEco Studio的安装和开发环境配置。(最完整)

    下载与安装软件: 安装包链接:华为操作系统DevEco Studio和SDK下载与升级 | HarmonyOS开发者 下载解压后双击 选择存储路径 其他的按顺序下一步就好了,点击finish完成安装. ...

  9. python3编译器怎么下载_Python编译器及Sublime Text3安装及开发环境配置

    1.初学Python,你需要一个好的开发编辑器 在选择Python编辑器时,可能纠结于那个Python的版本更好一些,在Python2.x和Python3.x版本中, Python3.x版本更好一些, ...

最新文章

  1. python gui界面设置数据储存在哪里_我整理的一些常用Python库!让你快速记住这些库的用法!建议收藏...
  2. Oracle_052_lesson_p10
  3. Naigos PNP图无法加载最新数据
  4. 百度地图JavaScript API覆盖物旋转时出现偏移
  5. 看看这套WPF开源基础控件库:WPFDevelopers
  6. 创建支持依赖注入、Serilog 日志和 AppSettings 的 .NET 5 控制台应用
  7. codeforce Pashmak and Buses(dfs枚举)
  8. Windows11怎么关机重启?Windows11的关机键在哪?
  9. SpringBoot常用注解说明
  10. rpm安装mysql5.6.37_MySQL之—RPM方式安装MySQL5.6 代码实例详解
  11. 群晖3617可以有几个网卡_【群晖系统】黑群晖洗白13问~经典QA
  12. 毕业设计之 ---- 基于机器视觉的图像拼接算法
  13. linux source命令路径,source(.)命令
  14. CF18B/01背包
  15. C语言编程三子棋程序代码,C语言实现三子棋源代码
  16. nginx worker shutting down状态超时退出配置
  17. FreeRTOS中的任务堆栈溢出检测机制
  18. 5.4 BGP地址聚合
  19. 波特率9600是什么意思 串口通信为什么要设置波特率
  20. 流程控制语句-------条件判断语句(if ,if-else ,if-elif-else)

热门文章

  1. java--Timer 定时器
  2. 解决Ubuntu18无法进入-显示/dev/nvme0n1p8:recovering Journal
  3. VMware Workstation Pro界面设置为中文界面
  4. python正则表达式面试_python-面试题
  5. 格局决定结局,态度决定高度
  6. JavaScript脚本的学习
  7. 什么是MysQL数据库
  8. with grant option作用
  9. 浙大ZOJ 1005 Jugs问题解决
  10. 一张表带你了解S3系列接触式芯片卡读写器的差异