小斤觉得,研究自带的范例程序是学习的重要途径之一,在编译与配置OpenNI2的范例程序时,并没有安装时候那么顺利,在这里分享一下经验。
安装版本OpenNI 2.1 beta,开发环境VS2008。
依照上一篇教程六安装成功后,会有以下目录:
范例程序主目录:
OpenNI2\Samples\
可执行文件:
OpenNI2\Samples\Bin
公共头文件:
OpenNI2\Samples\Common
GL库:
OpenNI2\Samples\GL
如果有VS2010应该能直接打开项目。
新建VS范例工程
在较早的VS版本运行,可以参考以下步骤来新建一个范例工程:
【1】新建C/C++工程
【2】配置工程属性(参考教程六)
【3】拷贝源代码,这里小斤拷贝了SimpleViewer的源码到工程目录。
【4】拷贝公共头文件:\OpenNI2\Samples\Common\OniSampleUtilities.h到工程目录。
如下图
GLUT库
【1】对于OpenNI2\Samples\GL目录下的头文件目录gl与glh
复制到以下文件夹:
Visual Studio 6:X:\Program Files\Microsoft Visual Studio\VC98\Include\GL
Visual Studio .net 2003:X:\Program Files\Microsoft Visual Studio NET 2003\Vc7\PlatformSDK\Include\gl
Visual Studio 2005:X:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\gl
Visual Studio 2008:X:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl
【2】对于OpenNI2\Samples\GL目录下的*.lib复制到以下文件夹:
Visual Studio 6:X:\Program Files\Microsoft Visual Studio\VC98\Lib
Visual Studio .net 2003:X:\Program Files\Microsoft Visual Studio NET 2003\Vc7\PlatformSDK\Lib
Visual Studio 2005:X:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib
Visual Studio 2008:X:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
【3】OpenNI2\Samples\GL目录下的*.dll复制到工程目录或者C:\Windows\system中。
一些小坑
【1】在小斤的工作环境VS2008中,遇到编译错误:
error C2146: syntax error : missing ';' before identifier 'usbVendorId'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2146: syntax error : missing ';' before identifier 'usbProductId'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
在OpenNI2\Include\Win32\OniPlatformWin32.h中发现
//--------------------------------------------------------------------------- // Includes //--------------------------------------------------------------------------- #include <windows.h> #include <stdlib.h> #include <stdio.h> #include <malloc.h> #include <io.h> #include <time.h> #include <assert.h> #include <float.h> #include <crtdbg.h> #if _MSC_VER < 1600 // Visual Studio 2008 and older doesn't have stdint.h... typedef __int64 int64_t; typedef unsigned __int64 uint64_t; #else #include <stdint.h> #endif
该错误由于uint32_t与uint8_t未定义造成,加入定义后编译成功。
#if _MSC_VER < 1600 // Visual Studio 2008 and older doesn't have stdint.h... typedef __int64 int64_t; typedef unsigned __int64 uint64_t; typedef unsigned __int32 uint32_t; typedef unsigned __int16 uint16_t; typedef unsigned __int8 uint8_t; #else #include <stdint.h> #endif
【2】在上一篇教程中,小斤也说过,要拷贝\OpenNI2\Redist目录下的所有文件到VS的工作目录(如果不通过VS启动,则拷贝到程序执行目录)
否则将会看到以下错误:
----------------------------------
作者:小斤(陈忻)
新浪围脖:@小斤陈
本文属于原创文章,如需转载引用请注明原文作者和链接,谢谢。
相关推荐
Unity结合Kinect2体感开发:KinectForWindows_UnityPro
OpenNI2-Kinect2Driver OpenNI2 Kinect v2 驱动程序注意请您自己承担风险使用还在实验阶段。 它只是运行,但可能缺乏功能或可能有问题。 不与 NiTE 一起运行。 NiTE 需要我们无法实现的专有驱动程序参数。安装安装 ...
OpenNI 2 Kinect v2 驱动程序注意:这是驱动程序的陈旧版本。 请在以下位置找到最新版本: : 贡献者米格尔·安吉尔·维科接触Miguel Angel Vico ( )概括此 OpenNI 2 驱动程序增加了对 Microsoft Kinect v2 传感器的...
Kinect+OpenNI学习笔记,系统的介绍了,如何在OpenNi下使用Kinect,对于基于Kinect的开发,很有帮助,能够帮助入门者学会如何使用Kinect,对于以后使用其他平台开发,也是大有裨益的。
本文是整理中的Kinect for Windows v2 的C++ 程式开发教程。内容包括但不限于: • Kinect for Windows SDK v2 基本介绍 • Kinect for Windows SDK v2 C++ API 简介 • K4W v2 C++ Part 1:简单的深度读取方法 • ...
使用 OpenNI2 访问 Kinect ASUS Xtion 和其他 OpenNI 相机,并通过 ROS image_transport 发布 rgb 和深度流 这个包不能开箱即用,取决于成功安装 OpenNI2 从这里获取: : 如果要在 ARM 处理器上安装 OpenNI2,请...
基于Kinect的openNI开发包,直接安装可用,适合学习Kinect开发的的使用
Kinect运用OpenNI产生点云 http://blog.csdn.net/opensource07/article/details/7804246
本报告首先翻译了一篇介绍Kinect相机的标定和成像原理的文章,作者在此基础上运用OpenNI设计了一个从环境中提取人体的程序。
优化过的OPENNI2,用于实现深度图和彩色图对齐.具体可参考blog http://blog.csdn.net/janestar/article/details/38824375 相关内容
自己写的用kinect和openni开发的程序,用adaboost检测人脸,camshift和kalman跟踪。根据实时深度直方图跟踪
Kinect开发教程.pdf
openNI路线下kinect驱动安装包,一式四份,包含:OpenNI,nite,sensor,sensorKinect.吐血收集整理,内有安装教程,确保各位一次安装完全,为开发节省时间,减少精力浪费。
kinect OpenNI相关资料具体有:OpenNI_用户手册.pdf OpenNI_UserGuide.pdf OpenNI.chm NITE Controls 1.3 - Programmer's Guide.pdf NITE Algorithms 1.3.pdf NITE 1.3.0 - API Reference.chm
详细讲述了如何用OpenNI读取多个Kinect数据,并且可以测试一台PC最多可以连接多少个Kinect
Kinect for windows 开发入门系列示例示例代码。 Kinect for windows 开发入门 七:景深数据获取和使用 上 博文地址: http://blog.csdn.net/kinector/article/details/9963721
openNI路线下kinect驱动安装包,一式四份,包含:OpenNI,nite,sensor,sensorKinect.吐血收集整理,内有安装教程,确保各位一次安装完全,为开发节省时间,减少精力浪费。
《Kinect应用开发实战:用最自然的方式与机器对话》一书的源代码
Unity3D脚本:Unity3D+Kinect OpenNI开发获取身高2
Kinect+OpenNI学习笔记之5使用OpenNI自带的类进行简单手势识别