资源简介
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\li
文件 22630 2019-01-23 20:36 kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.tlog\li
文件 1838 2019-01-23 20:36 kinect2_DepToRGB\kinect2.0\Debug\kinect2.0.tlog\li
文件 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个文件信息
- 上一篇:《地理信息系统--原理、方法和应用》 邬伦等
- 下一篇:离散数学方世昌电子版
相关资源
- AE开发Windows最短路径分析
-
AN_BLE-SDKDH-C1_Teli
nk BLE SDK DeveloperHan -
Windows em
bedded Compact 2013 应用开发调 - 黑苹果硬件兼容检测和查询软件
- Uninstall_Cortana_WINCLIENT.CN.rar
- VMware65_SLP_DeLLSLIC2.1
- Windows异步套接字网络编程
- WINDOWS98启动盘镜像Win98.IMA
- 仿windows记事本
- LzmaLib
- windows7用的,非常漂亮的透明计时器
- windows下制作macOS安装U盘,绝对简单好
- keil vcom windows 7 64bit 驱动
- windows ce 系统的GPIO驱动程序
- TCP 发包工具(windows)
- 微软的可以删除系统卸不干净的软件
- windows下生成MD5值的工具(WinMD5)
- windows cygwin ns2安装步骤
- OPC插件OPC Core Components 2.00 SDK 2.20
- WinAPI 函数库(大全)
- 解决在Windows XP SP2下不能显示验证码的
- 加快Windows XP操作系统开机速度
- Windows 1.0 软盘镜像
- Windows下访问LINUX的利器-SSH
- 易语言-海康威视SDK-DEMO
- ChilledWindows.exe(玩笑病毒)
- NDK-R12B windows-x86_64百度云盘
- 美松打印机SDK MsPrintSDK-Demo-DLL-CShare-
- windows3.2简体中文版,虚拟机文件
- Windows 3.0 安装软盘(3.5 720k)
评论
共有 条评论