Kinect+OpenNI学习笔记之1(开发环境的建立)

2024-06-02 20:18

本文主要是介绍Kinect+OpenNI学习笔记之1(开发环境的建立),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  前言 

  一般的普通摄像机获取的是RGB彩色图像,在计算机视觉领域,很大一部分都是基于颜色图像来做处理的,取得了不少研究成果。最近几年的深度图研究给计算机视觉和图像处理带来了更多的信息,因为所获取的图像多了一个维度的,通常也称之为RGBD图。比较物美价廉的深度信息获取传感器有MS的Kinect,同时还有ASUS的Xtion。这2种传感器都能较为准确的获得一定范围内物体的深度信息。比如说Kinect的参数信息图如下:

          

     要想在视觉上达到AI的水平还有很长的路要走,深度信息的提供无疑给视觉处理多带来了一份希望,多了深度这一维的信息肯定是有用的,所以本人打算以后结合色彩信息和深度信息来做人体行为识别方面的研究。

     废话不说,实验室有Kinect设备,因此需要搭建Kinect的开发环境,这里开发Kinect的驱动不是用的MS的SDK,而是采用开源的OpenNI(个人比较喜欢开源的东西)。

     环境的搭建可以参考著名网友Heresy的系列文章,其中关于安装环境的搭建有一篇为: 2012 OpenNI环境/Kinect安装教学 。该文章中写的非常详细,赞!

  Heresy的文章列表为:http://kheresy.wordpress.com/index_of_openni_and_kinect/comment-page-5/

 

 

   安装步骤

     另外这里是我个人的WinXP+Kinect+OpenNI+NITE+Qt开发环境搭建过程:

     1. 采用OpenNI开发套件。OpenNI分为3个组件,OpenNI的本身框架,算法分析的中间件,以及硬件模块组。下载OpenNI的官网为:http://openni.org/Downloads/OpenNIModules.aspx

根据自己电脑的类型和步骤2的SensorKinect版本,选择那3个下拉列表,出现文件后下载即可。我这里选的是OpenNI Binarys+Unstable和32位的开发版本。其中OpenNI文件名为:

openni-win32-1.5.4.0-dev.msi, NITE文件名为:nite-win32-1.5.2.21-dev.msi,Sensor文件名为:sensor-win32-5.1.2.1-redist.msi。依次安装OpenNI,NITE,Sensor这3个文件。

     2. 安装SensorKinect,这个为Kinect驱动的破解版,因为OpenNI的驱动只是针对ASUS的,这个破解版是网友自己弄的,下载网站为:https://github.com/avin2/SensorKinect/tree/unstable/Bin

我选的版本名为:SensorKinect093-Bin-Win32-v5.1.2.1.msi

     非常需要注意的几点是:

     1. 安装过程中把各种杀毒软件都关掉,比如360那些玩意。

     2. 安装过程中不要将Kinect连接到电脑上。

     3. 上面的安装步骤顺序不要乱,且步骤1和步骤2中的文件版本一定要对应起来,其版本对应的说明在sensorkinect下载网https://github.com/avin2/SensorKinect的readme文件中有。

     安装成功后,插上kinect到电脑,开启电源,在电脑的设备管理器中看是否能够识别kinect的3个驱动,如果没有成功,手动更新驱动程序到指定的安装目录。

     驱动安装成功后的设备管理器处会显示如下:

   

     如果上面的步骤都完成,那么可以打开openNI安装目录下的samples子目录,进入bin目录下的debug或者release,连接好kinect,双击其中的一个sample,看能否运行,我这里是双击的UserTracker.net.exe,为人体骨骼提取,图像为深度图,其运行结果如下所示:

   

 

 

  安装总结

     但如果是用Qt来开发Kinect的话,则OpenNI的安装目录不能采用默认的目录,因为默认的目录中会含有Program Files中间有空格。所以在安装步骤1和2共4个文件时,其目录最好都安装在非中文非空格下面。如果不小心安装在默认路径下,卸载后又重新安装OpenNI及其组件,很容易识别,一般是安装每个文件到最后,然后进度条又回去,且会提示比如:Primesense-NTE1.5.2.21for windows setup wizard ended prematurely because of an error.Your system has not been modified.To install this program at a later time,run Setup Wizard again,Click the finish button to exit the Setup Wizard.即显示如下:

  

  这是因为前面安装的注册表信息没有clean干净,一般的非专业的清理工具是弄不干净的,比如说360安全卫士什么的。后面我也在网上尝试了好多种注册表清理工具都不行。到最后找到了一个专业的小工具:Eusing Free Registry Cleaner,下载完清理一遍再安装,一步成功,很感谢这个注册表清理小工具!

     另外,在用Qt开发时,需要在.pro工程文件添加如下关于OpenNI头文件和库文件:

INCLUDEPATH += C:\Qt\OpenNI\Include
LIBS += C:\Qt\OpenNI\Lib\NiSampleExtensionModule.lib C:\Qt\OpenNI\Lib\NiSampleModule.lib \
C:\Qt\OpenNI\Lib\OpenNI.jni.lib C:\Qt\OpenNI\Lib\openNI.lib

  此处我的OpenNI和Qt安装在一个目录,都放在c盘。当然,如果使用了OpenCVS库,也同样需要添加。

     到此为止,WinXP+Kinect+OpenNI+NITE+Qt+OpenCV的开发环境就建立好了,祝大家好运!

 

 

  参考资料

   下面是这2天找到的一些比较好的Kinect相关资料:

  Heresy系列文章:

     http://kheresy.wordpress.com/index_of_openni_and_kinect/comment-page-5/

     kinect和openNI学习资料汇总

     OpenCV 计算机视觉 kinect的博客:

     http://blog.csdn.net/moc062066/article/category/871261

      2011微软亚洲研究院Kinect for Windows研讨会

     http://www.msra.cn/Articles/ArticleItem.aspx?Guid=f3dfa208-bc88-4d8b-82a8-63e597315cf8

     Kinect介绍入门视频教程:

     http://www.youtube.com/watch?v=yQg4yhCL1xI

     OpenNI官网:

     http://openni.org/

     OpenNI安装教程:

     http://viml.nchc.org.tw/blog/paper_info.php?CLASS_ID=1&SUB_ID=1&PAPER_ID=346

 

 

 

 

作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 欢迎转载或分享,但请务必声明文章出处。 (新浪微博:tornadomeet,欢迎交流!)

这篇关于Kinect+OpenNI学习笔记之1(开发环境的建立)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1024977

相关文章

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加