资源简介
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个文件信息
- 上一篇:《地理信息系统--原理、方法和应用》 邬伦等
- 下一篇:离散数学方世昌电子版
相关资源
- Broadcom SDK
- Windows下 QT 5 调用 大华 SDK 实现摄像头
- Trojan-Qt5-Windows.zip
- windows server 2016官方教材 741B
-
windows下安装 libxm
l2 安装包 64位 - visio 2007 SDK
- 计算机网络操作系统——Windows Serve
- Windows CE.net内核定制及应用开发.pdf
- gnuplot 4.6.3 windows版
- broadcom的sdk(bcm)
- apache-tomcat-8.0.9-windows-x64位 官方绿色版
- windows7_非MBR引导
- 64位虚拟光驱-Windows Server 2008 R2 64X
- WindowsPowerShell实战指南第2版(高清、
- 百度地图SDK
- [2003].基于LabWindows.CVI 的虚拟仪器设计
- RedisDesktopManager Windows x64 0.9.8.1156
- apache-tomcat-8.0.50-windows-x64
- Windows for bbed
- swigwin-3.0.12
- lavfilter-0.70.2 windows下的解码器
-
ESP8266_NONOS_SDK-2.2.1_ba
sed_USARTrevised. - Driver_Windows.zip
- 竹林蹊径-深入浅出Windows驱动开发源代
- Lab Windows_CVI逐步深入与开发书pdf文档
- microsoft-windows-netfx3-ondemand-package.cab
- 虚拟串口软件Virtual Serial Port Driver最新
- epm磁盘分割工具,Windows系统下运行
- Windows内核和驱动进程保护
- 叉叉集成开发环境 V2.0.1.3 windows版本
评论
共有 条评论