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

相关文章

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经