- 初始环境:win10(64位)+vs2015+opencv2.4.13
- 硬件:kinect v1
- 最终环境:win10(64位)+vs2015+opencv2.4.13+kinect SDK 1.8+OpenNI2.2+NITE2.2
1.配置openni2环境(kinect SDK 1.8+OpenNI2.2+NITE2.2)
参考网址:
-(1)http://blog.csdn.net/chenxin_130/article/details/8580636
-(2)https://social.msdn.microsoft.com/Forums/en-US/bae80fb0-fce5-468e-a292-fe46381af3e5/how-to-install-openni-22-nite-22-kinect-sdk-18-windows-7-3264-bit?forum=kinectsdk
-(3)http://www.cnblogs.com/tornadomeet/archive/2012/11/16/2772681.html
(1)一开始不要把kinect插在电脑上!先安装Kinect for Windows SDK 1.8(Kinect for Windows SDK 1.8 官方下载网址),再连接kinect,可以从设备管理器里面看或者通过运行sample检验是否安装成功。(如果一开始就先把kinect连上了,windows会自动装上不正确的驱动,后面在设备管理器里会发现不能识别kinect,只能识别为“未知设备”,这时候先把这个未知设备的驱动删了,然后把kinect拔了,装了SDK以后再插上kinect)
(2)安装好驱动以后,先安装openni2.2(64位openni2.2 CSDN下载网址,32位openni2.2 CSDN下载网址),再安装nite2.2(64位nite2.2 CSDN下载网址,32位nite2.2 CSDN下载网址)。安装包从网址(2)下载,或者从CSDN上搜。网址(2)中建议64位电脑需要同时安装openni2.2和nite2.2的64位和32位版本,但我尝试过两种版本都安装,安装后会导致打不开kinect,所以只装64位或者只装32位的openni和nite就好了。
(3)每次运行exe程序,将OpenNI2\Redist\文件夹下所有文件粘贴到exe同目录下。
(4)如果有kinect初始化失败的情况,可以尝试用管理员身份打开记事本,打开”C:\Program Files (x86)\OpenNI2\Redist\OpenNI2\Drivers\PS1080.ini”,将”;UsbInterface=2”修改为”UsbInterface=0”(记得去掉UsbInterface前的”;”)。(测试openni2 sample 如NiViewer时,需修改sample同目录下的”OpenNI2\Drivers\PS1080.ini”文件)
(4)配置VS开发环境,见参考网址(1)。
2.获取kinect v1图像
(1)获取彩色图和深度图程序
参考网址:http://blog.csdn.net/chenxin_130/article/details/8619909
(2)获取红外图像
代码如下:
#include <stdlib.h>
#include <iostream>
#include <string>
#include "OpenNI.h"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
using namespace std;
using namespace cv;
using namespace openni;
void CheckOpenNIError(Status result, string status)
{
if (result != STATUS_OK)
cerr << status << " Error: " << OpenNI::getExtendedError() << endl;
}
int main(int argc, char** argv)
{
Status result = STATUS_OK;
//OpenNI2 image
VideoFrameRef oniIrImg;
//OpenCV