資源簡介
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?<“!!!“?< 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個文件信息
- 上一篇:《地理信息系統--原理、方法和應用》 鄔倫等
- 下一篇:離散數學方世昌電子版
評論
共有 條評論