天天看点

Kinect开发笔记(二)win10+vs2017+安装openni2读取oni文件

win10+vs2017+安装openni2读取oni文件

参考博客:https://blog.csdn.net/ding977921830/article/details/74428743

1.OPENNI安装

在官网上可以下载对应版本的OpenNI,按照提示进行安装。

安装过程中,安装程序会自动建立了OpenNI的环境变量,如果没有自动建立,那么环境变量的值要根据自己实际安装位置来新建变量,见图:

Kinect开发笔记(二)win10+vs2017+安装openni2读取oni文件

建议:如果要使用openni2+Kinect2.0开发,openni2最好装在默认目录(系统盘),不然可能依然检测不到设备。

2.打开vs2017,建立一个win32控制台应用程序,添加一个cpp文件。

3.VS环境配置

如果只需要临时使用openni的环境,右击项目名称(或解决方案),选择属性,对项目属性进行配置。

若是要经常使用openni的环境,可以直接选择:视图->其他窗口->属性管理器->debug x64->Microsoft.Cpp.x64.user(如果使用32位环境,更改Win32即可)双击打开属性页。

  • VC++目录->包含目录,添加$(OPENNI2_INCLUDE64)(或选择对应路径)
    Kinect开发笔记(二)win10+vs2017+安装openni2读取oni文件
  • VC++目录->库目录,添加$(OPENNI2_LIB64)(或选择对应路径)
    Kinect开发笔记(二)win10+vs2017+安装openni2读取oni文件
  • 链接器->输入->附加依赖项,添加OpenNI2.lib
    Kinect开发笔记(二)win10+vs2017+安装openni2读取oni文件

4.遇到问题及解决方案

  • 问题1:因为计算机中丢失OpenNI2.dll,尝试重新安装该程序以解决问题。

方法:从安装目录中找到OpenNI2.dll文件,复制粘贴到C:\Windows\SysWOW64  目录下

  • 问题2:0x00007FFD0691FA60 (opencv_world344d.dll)处(位于 openNI.exe 中)引发的异常: 0xC0000005: 读取位置 0x000002C31BC64090 时发生访问冲突。

方法:将openni的安装目录下文件Redist的所有文件复制粘贴到工程的Debug目录下。

  • 问题3:使用sprintf写文件报错。

方法:右键工程名–>属性–>C/C++–>预处理器–>预处理器定义,编辑右边输入框加入: _CRT_SECURE_NO_WARNINGS

5.特别说明

读写oni文件电脑不需要连接Kinect设备,也不存在Kinect2与openni不兼容的问题,虽然运行openni2的sample或NiViewer会显示 ”no devices found”,但依然可以读取oni文件。

如果使用OpenCV做可视化,OpenCV搭建和openni类似,不再累述。OpenCV不用使用环境变量,直接选择到对应文件夹即可。

总结一下,vs的环境搭建基本都是这三步,添加包含目录,添加库目录,添加附加依赖项,其他的各种方法基本都是修改的这三个的子类,会直接从这三个父类继承值。