VS2013+KinectV2获取点云


利用Kinect sdk2.0和PCL1.8,在vs2013中使用cmake配置工程项目获取点云,并在第100次刷新时保存点云。 详见博文http://blog.csdn.net/cs2539263027, 内含cmake配置vs2013工程教程。
资源截图
代码片段和文件信息
// Disable Error C4996 that occur when using Boost.Signals2.
#ifdef _DEBUG
#define _SCL_SECURE_NO_WARNINGS
#endif

#include “kinect2_grabber.h“
#include 
#include  //PCL的PCD格式文件的输入输出头文件
#include  //PCL对各种格式的点的支持头文件
#include 

typedef pcl::PointXYZRGBA PointType;

int main( int argc char* argv[] )
{

int nnn=0;
    // PCL Visualizer
    boost::shared_ptr viewer(
        new pcl::visualization::PCLVisualizer( “Point Cloud Viewer“ ) );
    viewer->setCameraPosition( 0.0 0.0 -2.5 0.0 0.0 0.0 );

    // Point Cloud
    pcl::PointCloud::ConstPtr cloud;

    // Retrieved Point Cloud Callback Function
    boost::mutex mutex;
    boost::function::ConstPtr& )> function =
        [&cloud &mutex]( const pcl::PointCloud::ConstPtr& ptr ){
            boost::mutex::scoped_lock lock( mutex );

            /* Point Cloud Processing */

            cloud = ptr->makeShared();
        };

    // Kinect2Grabber
    boost::shared_ptr grabber = boost::make_shared();

    // Register Callback Function
    boost::signals2::connection connection = grabber->registerCallback( function );

    // Start Grabber
    grabber->start();
bool switchfd = true;
    while( !viewer->wasStopped() ){
        // Update Viewer
        viewer->spinOnce();

        boost::mutex::scoped_try_lock lock( mutex );
        if( lock.owns_lock() && cloud ){
            // Update Point Cloud
//cout << cloud->width << endl;
//cout << cloud->size() << endl;


//保存点云数据
if (nnn == 100)
{
cin >> nnn;
pcl::io::savePCDFileASCII(“test_pcd.pcd“ *cloud);
nnn = 0;
}
nnn++;
cout<<“nnn: “<            if( !viewer->updatePointCloud( cloud “cloud“ ) ){

                viewer->addPointCloud( cloud “cloud“ );

            }
        }
    }

    // Stop Grabber
    grabber->stop();
    
    // Disconnect Callback Function
    if( connection.connected() ){
        connection.disconnect();
    }

    return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-05-29 18:46  KinectGrabber-Kinect2Grabber
     文件        1100  2016-09-11 01:10  KinectGrabber-Kinect2GrabberLicense.txt
     文件        1358  2016-09-11 01:10  KinectGrabber-Kinect2GrabberREADME.md
     目录           0  2017-07-06 21:58  KinectGrabber-Kinect2GrabberSample
     文件         847  2016-09-11 01:10  KinectGrabber-Kinect2GrabberSampleCMakeLists.txt
     文件        7138  2016-09-11 01:10  KinectGrabber-Kinect2GrabberSampleFindKinectSDK2.cmake
     目录           0  2017-07-06 22:05  KinectGrabber-Kinect2GrabberSampleuild
     文件       59578  2017-06-07 20:29  KinectGrabber-Kinect2GrabberSampleuildALL_BUILD.vcxproj
     文件         310  2017-06-07 20:29  KinectGrabber-Kinect2GrabberSampleuildALL_BUILD.vcxproj.filters
     文件       54568  2017-06-07 20:29  KinectGrabber-Kinect2GrabberSampleuildCMakeCache.txt
     目录           0  2017-06-07 20:30  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles
     目录           0  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3
     文件        1954  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CMakeCCompiler.cmake
     文件        2751  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CMakeCXXCompiler.cmake
     文件       36864  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CMakeDetermineCompilerABI_C.bin
     文件       36864  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CMakeDetermineCompilerABI_CXX.bin
     文件         272  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CMakeRCCompiler.cmake
     文件         395  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CMakeSystem.cmake
     目录           0  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdC
     文件       17387  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCCMakeCCompilerId.c
     文件       10240  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCCompilerIdC.exe
     文件        2403  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCCompilerIdC.vcxproj
     目录           0  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCDebug
     文件        2011  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCDebugCMakeCCompilerId.obj
     目录           0  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCDebugCompilerIdC.tlog
     文件         556  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCDebugCompilerIdC.tlogCL.read.1.tlog
     文件         464  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCDebugCompilerIdC.tlogCL.write.1.tlog
     文件         222  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCDebugCompilerIdC.tlogCompilerIdC.lastbuildstate
     文件         724  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCDebugCompilerIdC.tlogcl.command.1.tlog
     文件        1064  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCDebugCompilerIdC.tloglink.command.1.tlog
     文件        2932  2017-06-07 20:28  KinectGrabber-Kinect2GrabberSampleuildCMakeFiles3.6.3CompilerIdCDebugCompilerIdC.tloglink.read.1.tlog
............此处省略69个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)