[置顶] 基于Kinect-OpenNI-OpenCV-OpenGL的环境变量配置

在这篇blog发表前,先对前辈"chenyusiyuan”致以崇高的敬意,由于你做的如此多的开源工作,让我们学到很多,期待你更多的开源,能够让我们学的更多。以下是我在学习他的基础上,做的读书笔记。

Kinect的安装:

     注意:本教程只试用于v1.0.0.23版本的OpenNI和v1.3.0.17版本的NITE 
请在安装前确认你下载的是正确的版本。 
v1.0.0.23 OpenNI http://www.openni.org/downloadfiles/openni-binaries/21-stable (选择下载Windows版本)
v1.3.0.17 NITE http://www.openni.org/downloadfiles/openni-compliant-middleware-binaries/34-stable (选择下载Windows版本)
Kinect驱动:http://dl.dbank.com/c059av7eg5 
安装步骤:
【1】卸载所有之前安装过的旧驱动

  例如:由第三方破解的驱动,如NUI或libfreenect

【2】Install OpenNI

【3】Install Sensor

   安装执行文件 SensorKinect-Win32-5.0.0.exe
  (解压压缩包 avin2-SensorKinect-b7cd39d,可在Bin目录下找到该执行文件)
  (该执行文件是由国外大侠Avin制作的,不知道他是不是PrimeSence公司的员工,不过我经常在谷歌的OpenNI群组里看到他)
  (英文原文解释:The installer will also automatically register all the modules into OpenNI via the NiReg utility)

【4】连接Kinect到PC
  注意:请插上转接口的电源,以保证Kinect的供电
   如果驱动安装成功,可以在“设备管理器”里可以查看到下图所示标志:
  (如果驱动没有安装成功,请把Kinect拔掉重新再插一遍)
  
  注意:Xbox NUI Audio驱动,目前还无法驱动上。所以无法识别 Xbox NUI Audio 属于正常现象。

【5】Install NITE( 我第一次安装的时候,忽略了key,然后很多demo就无法运行)
  注意:安装NITE时需要CD-KEY   0KOIk2JeIBYClPWVnMoRKn5cdY4=

【6】关键步骤
<1> All of the NITE samples are using 320x240 resolution. You need to change it to 640x480 in the XML files inside the Data directory.

  (不过不用担心,Avin已经替我们都准备好了)
  (从"c:/Program Files/Prime Sense/Sensor/SampleXMLs/NITE/Data/" 里复制所有XML文件到 "c:/Program Files/Prime Sense/NITE/Data/" )(选择覆盖文件) 
  (从"c:/Program Files/Prime Sense/Sensor/SampleXMLs/OPENNI/Data" 里复制所有XML文件到 "c:/Program Files/OpenNI/Data" )(选择覆盖文件)
<2> 运行NITE的执行例子,还需要修改XML中的CD key
  将"c:/Program Files/Prime Sense/NITE/Data/"目录下所有的XML文件中Licenses部分替换为: 
  <Licenses> 
     <License vendor="PrimeSense" key="0KOIk2JeIBYClPWVnMoRKn5cdY4="/> 
  </Licenses> 

【7】测试实验
  注意:OpenNI执行例子的默认目录是:c:/Program Files/OpenNI/Samples/Bin
  
注意:NITE执行例子的默认目录是:c:/Program Files/Prime Sense/NITE/Samples/Bin
<1> 运行OpenNI目录下的执行例子 NiViewer sample 确保 depth & image streams 能够正常运行。
<2> 运行OpenNI目录下的执行例子 NiUserTracker sample play with the skeleton. Don't forget to start with the calibration pose! 
<3> 运行NITE目录下的执行例子 PointViewer sample for the hand tracking demo.

 

opencv2.2的安装:

    如果需要让kinect支持opencv2.2,需要从SVN上下载最新的opencv2.2,然后修改highgui_c.h, cap_openni.cpp。

 

然后用cmake软件,重新编译。

 

  1. 将 cap_openni.cpp 第 344 行的 setDepthGeneratorProperty 改写如下:

 

bool CvCapture_OpenNI::setDepthGeneratorProperty( int propIdx, double propValue )
{
    bool res = false;
    CV_Assert( depthGenerator.IsValid() );
    switch( propIdx )
    {
    case CV_CAP_PROP_OPENNI_VIEW_POINT :
        depthGenerator.GetAlternativeViewPointCap().SetViewPoint( imageGenerator );
        res = true;
        break;
    default :
        CV_Error( CV_StsBadArg, "Depth generator does not support such parameter for setting./n");
        res = false;
    }
    return res;}

 

     在 highgui_c.h 的第 348 行下添加改变视角的参数 ID 号:

      

            CV_CAP_PROP_OPENNI_VIEW_POINT=24,

 

然后在第 352 行下添加:(这一行需要在358行后在添加,即对CV_CAP_PROP_OPENNI_VIEW_POINT赋值以后

     

 CV_CAP_OPENNI_DEPTH_GENERATOR_VIEW_POINT=CV_CAP_OPENNI_DEPTH_GENERATOR+CV_CAP_PROP_OPENNI_VIEW_POINT

 

 

最后最重要的环境变量配置:

    vs2010环境变量的配置方法已经有所改变,要选择解决方案,点击右键属性:

 

 

 

 

openni:   

     1.vc++目录=> ”包含目录"中,添加"$(OPEN_NI_INCLUDE)",这是一个指向OpenNI Include目录的环境变量。(默认位置为:C:/Program files/OpenNI/Include)

     2.vc++目录=> ”库目录"中, 添加"$(OPEN_NI_LIB)",这是一个指向OpenNI 库目录的环境变量。(默认位置为:C:/Program files/OpenNI/Lib)

 

nite:

    C:/Program Files/Prime Sense/NITE/Include;

    C:/Program Files/Prime Sense/NITE/lib;

 

opengl:

    选择linker => Input,选择 Additional Dependencies添加OpenNI.lib,glut32.lib。

    需要包含glut.h的目录

 

额外注意:

   1.如果你想使用XML文件来配置OpenNI,你可以从基本的XML文件,可以在OpenNI数据文件夹中找到。 (默认位置为:C:/Program files/OpenNI/Data。)有关OpenNI XML脚本的详细信息,请参见XML脚本。

   2. 确保你的Release 和 Debug 配置中添加额外的include和库目录

   3. 如果使用C,您的代码文件应包括XnOpenNI.h,或者如果使用的C++则就包含XnCppWrapper.h

 

 

你可能感兴趣的:(xml,include,generator,dependencies,installer,linker)