首页 > 代码库 > win8 vs2010 openni2 配置

win8 vs2010 openni2 配置

 

 

 

打开一个新项目或者已存在的项目用以使用  OpenNI

在Visual Studio 菜单中, 打开项目菜单,选择项目属性.

在C/C++ 选项卡中, 在"常规" 下, 选择 "附加包含目录" ,添加 "$(OPENNI2_INCLUDE)" (32位操作系统)或者添加("$(OPENNI2_INCLUDE64)" (64位操作系统). 环境变量指向本地OpenNI下的 Include文件夹. (默认为C:\Program Files\OpenNI2\Include或者C:\ProgramFilesx86)\OpenNI2\Include)

 在连接器选项卡中,  在"常规" 下, 选择"附加库目录",添加"$(OPENNI2_LIB)" (32位操作系统) 或者添加"$(OPENNI2_LIB64)"64位操作系统). 

环境变量指向本地OpenNI下的Lib文件夹. (默认为C:\ProgramFiles\OpenNI2\Lib 或者 C:\ProgramFiles(x86)\OpenNI2\Lib)在连接器选项卡中,在“输入”下, 选择"附加依赖项" 添加 OpenNI2.lib               

确保你所附加的 Include 和 Library 目录添加到你的 Release 和 Debug配置中.

从 OpenNI‘s redist 目录中复制所有文件(见换将变量"$(OPENNI2_REDIST)" or"$(OPENNI2_REDIST64)") 到你的工作目录. (默认为 C:\ProgramFiles\OpenNI2\Redist   or    C:\ProgramFiles(x86)\OpenNI2\Redist).请注意,当你在命令行运行时,工作目录就是可执行文件能够发现的目录,  你从Visual Studio的默认目录运行的地方就是项目文件 (.vcproj,.vcxproj) 能够被发现的地方。

要点提示:
1.openni2的版本与vs2010的版本必须保持一致,都是32位或都是64位
2.redist目录必须想清楚如何填写。。。

 

 

#include <iostream>#include "OpenNI.h"int main( int argc, char** argv ){    // 初始化OpenNI环境    openni::OpenNI::initialize();    // 声明并打开Device设备,我用的是Kinect。    openni::Device devAnyDevice;    devAnyDevice.open( openni::ANY_DEVICE );    // 创建并打开深度数据流    openni::VideoStream streamDepth;    streamDepth.create( devAnyDevice, openni::SENSOR_DEPTH );    streamDepth.start();    // 同样的创建并打开彩色图像数据流    openni::VideoStream streamColor;    streamColor.create( devAnyDevice, openni::SENSOR_COLOR );    streamColor.start();    // 循环读取数据流信息并保存在VideoFrameRef中    openni::VideoFrameRef frameDepth;    openni::VideoFrameRef frameColor;    for( int i = 0; i < 1000; ++ i )    {        // 读取数据流        streamDepth.readFrame( &frameDepth );        streamColor.readFrame( &frameColor );        // 获取data array        const openni::DepthPixel* pDepth            = (const openni::DepthPixel*)frameDepth.getData();        const openni::RGB888Pixel* pColor            = (const openni::RGB888Pixel*)frameColor.getData();        // 显示深度信息和对应的彩色R、G、B数值        int idx = frameDepth.getWidth() * ( frameDepth.getHeight() + 1 ) / 2;        std::cout  << pDepth[idx]  << "( "            << (int)pColor[idx].r << ","            << (int)pColor[idx].g << ","            << (int)pColor[idx].b << ")"            << std::endl;    }    // 关闭数据流    streamDepth.destroy();    streamColor.destroy();    // 关闭设备    devAnyDevice.close();    // 最后关闭OpenNI    openni::OpenNI::shutdown();    return 0;}

win8 vs2010 openni2 配置