# KinectDepth **Repository Path**: TastSong/KinectDepth ## Basic Information - **Project Name**: KinectDepth - **Description**: Kinect深度数据获取Dome - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-08-22 - **Last Updated**: 2021-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KinectDepth ## 环境配置 * opencv2.4.9 * vs2013 * KinectSDK2.0 ## 注释 首先,声明了两个矩阵,一个为16位单通道,一个为8位单通道,之所以开16位的,是因为在Kinect的基本参数这篇里可以看到, 深度数据是16位的。开8位的原因等下说。然后同样的,利用`AcquireLatestFrame()`来获取最新的一帧,不同的是下面一句, 不再用`AccessUnderlyingBuffer()`,而是用`CopyFrameDataToArray`来把数据复制到openCV的图像矩阵Mat里,注意第三个参数的类型是`UINT16*`, 所以需要强制转换一下。接下来要把16位的Mat转换成8位来输出显示,为什么不直接用16位?其实也可以用,但是直接用16位的话显示的图像很接接近于全黑, 不方便观察,于是转换为8位。`convertTo()`这个函数的第一个参数是输出矩阵,第二个是转换的类型,第三个是缩放因子,其中`4500`是深度数据的最大距离。