zoukankan      html  css  js  c++  java
  • 初學OpenNI

             上一篇文章有转载别人编写的OpenNI在windows7上安装及测试,这次就讲讲如何在vs2010环境下编写程序获取数据。

    请参照一下步骤进行:

    1.创建一个新的或者已有的使用OpenNI的项目

    2.Visual Studio菜单选择“项目”,再选择“属性”。

    3.在“配置属性”的C/C++下,选择“常规”,再选择配置项“附加包含目录”,添加"$(OPEN_NI_INCLUDE)"。这个环境变量指           向OpenNIInclude目录(默认的目录是C:\Programfiles\OpenNI\Include)。

    4.在“配置属性”的“连接器”下,选择“常规”,再选择配置项“链接库依赖项”,增加"$(OPEN_NI_LIB)"。这个环境变量

      向OpenNI的库目录(默认为C:\Programfiles\OpenNI\Lib)。

    5.在“配置属性”的“连接器”下,选择“输入”,在选择“附加依赖项”,添加库OpenNI.lib

    6.如果你希望使用XML文件来配置OpenNI,你可以从OpenNIData目录下找到基础XML文件(默认目录在

        C:\Programfiles\OpenNI\Data),更多信息请参考OpenNIxml脚本文件。

    7.请确保你对ReleaseDebug两套配置都做了上面的步骤。

    8.你的代码如果是C,应该包含XnOpenNI.h头文件,如果是C++,应该包含XnCppWrapper.h头文件.


    以下是代码框架告诉你怎么处理程序:
    XnStatus nRetVal = XN_STATUS_OK; 
    xn::Context  context; 
    
    // 初始化上下文对象 
    nRetVal = context.Init();
    // TODO: 检查错误码,即看nRetVal是否等于XN_STATUS_OK 
    
    // 创建深度生产节点
    xn::DepthGenerator depth; 
    nRetVal = depth.Create(context); 
    // TODO: 检查错误码,即看nRetVal是否等于XN_STATUS_OK 
    
    // 开始生产数据 
    nRetVal = context.StartGeneratingAll();
    // TODO: 检查错误码,即看nRetVal是否等于XN_STATUS_OK
    
    // 主循环 
    while (bShouldRun)
    { 
    	// 等待数据更新
    	nRetVal = context.WaitOneUpdateAll(depth); 
    	if (nRetVal != XN_STATUS_OK) 
    	{ 
      		printf("Failed updating data: %s\n", xnGetStatusString(nRetVal)); 
      		continue; 
    	} 
    
    	// 获得当前深度图 
    	const XnDepthPixel* pDepthMap = depth.GetDepthMap(); 
    
    	// TODO:处理深度图 
    }
    
    // 释放资源 
    context.Shutdown();
    
    
    



    如果不想出了错误而不知道错误在哪里,请在上面代码中TODO处添加验错代码,以确定错误的地方。

    
    

    
    

    以上如有问题,请不要吝啬你的批评。

    有问题欢迎与我讨论:wl_soft50@163.com

  • 相关阅读:
    UITableView全面解析
    UITableView传值(自己使用)(属性,代理传值)
    页面之间传值(单例传值)(自己使用)
    带导航栏的最简单多视图
    UIscrollView和UIPageControl的循环滚动
    UIPickerView简单应用
    自定义进度条(菜鸟版)
    UISegmentedControl(人物简介)
    UI控件闪灯
    关于NSCELL
  • 原文地址:https://www.cnblogs.com/leven20061001/p/2724714.html
Copyright © 2011-2022 走看看