中文的kinect v2 开发环境搭建的教程很少,我就负责写一个完整的kinect v2开发环境搭建教程。
kinect v2 基本环境要求为:
windows8.0 以上
usb3.0接口
vs2012 或者2013来进行开发
kinect所有安装包分享 左边的链接是kinect所有安装包分享,包括windows8.1.iso,kinect v2 sdk, visual studio community 2013 安装包。
接下来就是安装windows8.1, kinect v2 sdk, 和 visual sutdio community 2013.
然后运行 kinect Configuration Verifier 看看配置是否搭好。
接下来运行 Depth Basic-D2D 来看看深度摄像头是否可用
VS 2013 community 通过file->new->project ->console application
打开该project的property
安装kinect sdk v2 后就会自动生成kinectSDK20_DIR 环境变量,你就不用重新设置了。按照下图中的三部添加相应的lib和.h文件
运行下面的代码会输出一系列深度距离
// ConsoleApplication1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include "kinect.h"
int _tmain(int argc, _TCHAR* argv[])
{ // 1a. Get default Sensor
IKinectSensor* pSensor = nullptr;
GetDefaultKinectSensor(&pSensor);
// 1b. Open sensor
pSensor->Open();
// 2a. Get frame source
IDepthFrameSource* pFrameSource = nullptr;
pSensor->get_DepthFrameSource(&pFrameSource);
// 3a. get frame reader
IDepthFrameReader* pFrameReader = nullptr;
pFrameSource->OpenReader(&pFrameReader);
// Enter main loop
size_t uFrameCount = 0;
while (uFrameCount < 100)
{
// 4a. Get last frame
IDepthFrame* pFrame = nullptr;
if (pFrameReader->AcquireLatestFrame(&pFrame) == S_OK)
{
// 4b. Get frame description
int iWidth = 0;
int iHeight = 0;
IFrameDescription* pFrameDescription = nullptr;
pFrame->get_FrameDescription(&pFrameDescription);
pFrameDescription->get_Width(&iWidth);
pFrameDescription->get_Height(&iHeight);
pFrameDescription->Release();
pFrameDescription = nullptr;
// 4c. Get image buffer
UINT uBufferSize = 0;
UINT16* pBuffer = nullptr;
pFrame->AccessUnderlyingBuffer(&uBufferSize, &pBuffer);
// 4d. Output depth value
int x = iWidth / 2,
y = iHeight / 2;
size_t idx = x + iWidth * y;
std::cout << pBuffer[idx] << std::endl;
// 4e. release frame
pFrame->Release();
pFrame = nullptr;
++uFrameCount;
}
}
// 3b. release frame reader
pFrameReader->Release();
pFrameReader = nullptr;
// 2b. release Frame source
pFrameSource->Release();
pFrameSource = nullptr;
// 1c. Close Sensor
pSensor->Close();
// 1d. Release Sensor
pSensor->Release();
pSensor = nullptr;
return 0;
}
这样环境就搭配好了
参考文章链接附上,不能访问就fan qiang看:kinect 安装参考链接