资源简介

kinect二代,Windows sdk+opencv+VS2013,深度图映射到RGB彩色图

资源截图

代码片段和文件信息

#pragma once
#define _CRT_SECURE_NO_DEPRECATE

#include 
#include 
#include “kinect.h“
#include 
#include   
#include   

using namespace cv;
using namespace std;

// 安全释放指针
template
inline void SafeRelease(Interface *& pInterfaceToRelease)
{
if (pInterfaceToRelease != NULL)
{
pInterfaceToRelease->Release();
pInterfaceToRelease = NULL;
}
}

int _tmain(int argc _TCHAR* argv[])
{
// 获取Kinect设备
IKinectSensor* m_pKinectSensor;
HRESULT hr;
hr = GetDefaultKinectSensor(&m_pKinectSensor);
if (FAILED(hr))
{
return hr;
}

IMultiSourceframeReader* m_pMultiframeReader = NULL;
if (m_pKinectSensor)
{
hr = m_pKinectSensor->Open();
if (SUCCEEDED(hr))
{
// 获取多数据源到读取器  
hr = m_pKinectSensor->OpenMultiSourceframeReader(
frameSourceTypes::frameSourceTypes_Color |
frameSourceTypes::frameSourceTypes_Infrared |
frameSourceTypes::frameSourceTypes_Depth
&m_pMultiframeReader);
}
}

if (!m_pKinectSensor || FAILED(hr))
{
return E_FAIL;
}
// 三个数据帧及引用
IDepthframeReference* m_pDepthframeReference = NULL;
IColorframeReference* m_pColorframeReference = NULL;
IInfraredframeReference* m_pInfraredframeReference = NULL;
IInfraredframe* m_pInfraredframe = NULL;
IDepthframe* m_pDepthframe = NULL;
IColorframe* m_pColorframe = NULL;
// 三个图片格式
Mat i_rgb(1080 1920 CV_8UC4);      //注意:这里必须为4通道的图,Kinect的数据只能以Bgra格式传出
Mat i_depth(424 512 CV_8UC1);
Mat i_Infrared(424 512 CV_8UC1);
Mat i_ir(424 512 CV_16UC1);
Mat i_depthToRgb(424 512 CV_8UC4);

UINT16 *depthData = new UINT16[424 * 512];
UINT16 *InfraredData = new UINT16[424 * 512];
CameraSpacePoint* m_pCameraCoordinates = new CameraSpacePoint[512 * 424];
ColorSpacePoint* m_pColorCoordinates = new ColorSpacePoint[512 * 424];
IMultiSourceframe* m_pMultiframe = nullptr;
while (true)
{
// 获取新的一个多源数据帧
hr = m_pMultiframeReader->AcquireLatestframe(&m_pMultiframe);
if (FAILED(hr) || !m_pMultiframe)
{
//cout << “!!!“ << endl;
continue;
}

// 从多源数据帧中分离出彩色数据,深度数据和红外数据
if (SUCCEEDED(hr))
hr = m_pMultiframe->get_ColorframeReference(&m_pColorframeReference);
if (SUCCEEDED(hr))
hr = m_pColorframeReference->Acquireframe(&m_pColorframe);
if (SUCCEEDED(hr))
hr = m_pMultiframe->get_DepthframeReference(&m_pDepthframeReference);
if (SUCCEEDED(hr))
hr = m_pDepthframeReference->Acquireframe(&m_pDepthframe);
if (SUCCEEDED(hr))
hr = m_pMultiframe->get_InfraredframeReference(&m_pInfraredframeReference);
if (SUCCEEDED(hr))
hr = m_pInfraredframeReference->Acquireframe(&m_pInfraredframe);

// color拷贝到图片中
UINT nColorBufferSize = 1920 * 1080 * 4;
if (SUCCEEDED(hr))
hr = m_pColorframe->CopyConvertedframeDataToArray(nColorBufferSize reinterpret_cast(i_rgb.data) ColorImageFormat::ColorImageFormat_Bgra);



if (SUCCEEDED(hr))
{
hr = m_pInfraredframe->CopyframeDataToArray(424 * 512 InfraredData);
for (int i = 0; i < 512 * 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      80384  2019-01-23 20:36  kinect2_DepToRGB\Debug\kinect2.0.exe

     文件     453740  2019-01-23 20:36  kinect2_DepToRGB\Debug\kinect2.0.ilk

     文件    2502656  2019-01-23 20:36  kinect2_DepToRGB\Debug\kinect2.0.pdb

     文件       3245  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.log

     文件       3582  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.tlog\cl.command.1.tlog

     文件     139310  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.tlog\CL.read.1.tlog

     文件       1904  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.tlog\CL.write.1.tlog

     文件        186  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.tlog\kinect2.0.lastbuildstate

     文件      24322  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.tlog\link.command.1.tlog

     文件      22630  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.tlog\link.read.1.tlog

     文件       1838  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.tlog\link.write.1.tlog

     文件     251702  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\main.obj

     文件    1420288  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\vc120.idb

     文件    1921024  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\vc120.pdb

     文件       5546  2019-01-22 17:26  kinect2_DepToRGB\kinect2.0\kinect2.0.vcxproj

     文件        945  2019-01-22 16:34  kinect2_DepToRGB\kinect2.0\kinect2.0.vcxproj.filters

     文件       7501  2019-01-23 19:52  kinect2_DepToRGB\kinect2.0\main.cpp

     文件   38666240  2019-01-23 20:37  kinect2_DepToRGB\kinect2.0.sdf

     文件        973  2019-01-22 16:25  kinect2_DepToRGB\kinect2.0.sln

    ..A..H.     22016  2019-01-23 20:37  kinect2_DepToRGB\kinect2.0.v12.suo

     文件         18  2019-01-23 19:48  kinect2_DepToRGB\readme.txt

     目录          0  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.tlog

     目录          0  2019-01-23 20:36  kinect2_DepToRGB\kinect2.0\Debug

     目录          0  2019-01-22 17:28  kinect2_DepToRGB\kinect2.0\images

     目录          0  2019-01-23 16:56  kinect2_DepToRGB\Debug

     目录          0  2019-01-23 19:46  kinect2_DepToRGB\kinect2.0

     目录          0  2019-01-23 20:37  kinect2_DepToRGB

----------- ---------  ---------- -----  ----

             45530050                    27



............此处省略0个文件信息

评论

共有 条评论