資源簡介
本文在VS2012開發平臺上面配置PCL1.7.2+Kinect V 2.0SDK+opencv2.4.9 ,使用最新的Kinect V 2.0傳感器設備獲取場景中的深度圖像和彩色圖像,并將二者轉換保存為PCL數據庫所使用的PCD點云數據格式,然后借助編程算法,編寫程序將保存的點云PCD格式數據,成功的保存到電腦Dist里面。本程序所使用的配件較多 ,自己起步一點點摸索的話,極費事、極費時間,這里將其拿出來供大家直接使用,也算 是為致力于三維點云圖像處理和PCL+Kinect V 2.0的同仁志士加了點催化劑,給予一點幫助吧。讓三維點云的獲取更加方便,KinectV 2.0 使用范圍更廣闊吧。
代碼片段和文件信息
#include?“stdafx.h“
#define?NOMINMAX
#include?
#include?
#include?
#include?
#include
#include
#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[])
{
????//?Create?Sensor?Instance
????IKinectSensor*?pSensor;
????HRESULT?hResult?=?S_OK;
????hResult?=?GetDefaultKinectSensor(?&pSensor?);
????if(?FAILED(?hResult?)?){
????????std::cerr?<“Error?:?GetDefaultKinectSensor“?<????????return?-1;
????}
????//?Open?Sensor
????hResult?=?pSensor->Open();
????if(?FAILED(?hResult?)?){
????????std::cerr?<“Error?:?IKinectSensor::Open()“?<????????return?-1;
????}
????//?Retrieved?Coordinate?Mapper
????ICoordinateMapper*?pCoordinateMapper;
????hResult?=?pSensor->get_CoordinateMapper(?&pCoordinateMapper?);
????if(?FAILED(?hResult?)?){
????????std::cerr?<“Error?:?IKinectSensor::get_CoordinateMapper()“?<????????return?-1;
????}
????//?Retrieved?Color?frame?Source
????IColorframeSource*?pColorSource;
????hResult?=?pSensor->get_ColorframeSource(?&pColorSource?);
????if(?FAILED(?hResult?)?){
????????std::cerr?<“Error?:?IKinectSensor::get_ColorframeSource()“?<????????return?-1;
????}
????//?Retrieved?Depth?frame?Source
????IDepthframeSource*?pDepthSource;
????hResult?=?pSensor->get_DepthframeSource(?&pDepthSource?);
????if(?FAILED(?hResult?)?){
????????std::cerr?<“Error?:?IKinectSensor::get_DepthframeSource()“?<????????return?-1;
????}
????//?Open?Color?frame?Reader
????IColorframeReader*?pColorReader;
????hResult?=?pColorSource->OpenReader(?&pColorReader?);
????if(?FAILED(?hResult?)?){
????????std::cerr?<“Error?:?IColorframeSource::OpenReader()“?<????????return?-1;
????}
????//?Open?Depth?frame?Reader
????IDepthframeReader*?pDepthReader;
????hResult?=?pDepthSource->OpenReader(?&pDepthReader?);
????if(?FAILED(?hResult?)?){
????????std::cerr?<“Error?:?IDepthframeSource::OpenReader()“?<????????return?-1;
????}
????//?Retrieved?Color?frame?Size
????iframeDescription*?pColorDescription;
????hResult?=?pColorSource->get_frameDescription(?&pColorDescription?);
????if(?FAILED(?hResult?)?){
????????std::cerr?<“Error?:?IColorframeSource::get_frameDescription()“?<????????return?-1;
????}
????int?colorWidth?=?0;
????int?colorHeight?=?0;
????pColorDescription->get_Width(?&colorWidth?);?//?1920
????pColorDescription->get_Height(?&colorHeight?);?//?1080
????//?To?Reserve?Color?frame?Buffer
????std::vector?colo
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8762??2015-04-07?16:33??CloudViewer\CloudViewer\CloudViewer.cpp
?????文件???????4632??2015-03-13?11:24??CloudViewer\CloudViewer\CloudViewer.vcxproj
?????文件???????1315??2015-03-13?11:23??CloudViewer\CloudViewer\CloudViewer.vcxproj.filters
?????文件???????3034??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\cl.command.1.tlog
?????文件?????332420??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\CL.read.1.tlog
?????文件????????820??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\CL.write.1.tlog
?????文件?????????65??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\CloudViewer.lastbuildstate
?????文件????????328??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\CloudViewer.log
?????文件????3610890??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\CloudViewer.obj
?????文件????1245184??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\CloudViewer.pch
?????文件??????????2??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\li
?????文件??????????2??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\li
?????文件??????????2??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\li
?????文件??????????2??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\li
?????文件???????7392??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\li
?????文件??????18342??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\li
?????文件????????550??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\li
?????文件??????12402??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\stdafx.obj
?????文件????7580672??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\vc110.idb
?????文件????7229440??2015-04-07?10:59??CloudViewer\CloudViewer\Debug\vc110.pdb
?????文件???????1538??2015-03-13?11:23??CloudViewer\CloudViewer\ReadMe.txt
?????文件????????216??2015-03-13?11:23??CloudViewer\CloudViewer\stdafx.cpp
?????文件????????233??2015-03-13?11:23??CloudViewer\CloudViewer\stdafx.h
?????文件????????236??2015-03-13?11:23??CloudViewer\CloudViewer\targetver.h
?????文件??124190720??2015-04-07?16:33??CloudViewer\CloudViewer.sdf
?????文件????????900??2015-03-13?11:23??CloudViewer\CloudViewer.sln
????..A..H.?????22016??2015-04-07?16:33??CloudViewer\CloudViewer.v11.suo
?????文件?????463360??2015-04-07?10:59??CloudViewer\Debug\CloudViewer.exe
?????文件????1903576??2015-04-07?10:59??CloudViewer\Debug\CloudViewer.ilk
?????文件????8956928??2015-04-07?10:59??CloudViewer\Debug\CloudViewer.pdb
............此處省略10個文件信息
評論
共有 條評論