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

相关文章

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD