您的位置:首页 > 其它

用pcl读取xtion点云

2016-07-07 11:13 387 查看
用的是openni2graber,多了个2.。。

注意,这里的interface1 变量。为什么多了个1呢,原因是interface1是windows系统的保留字。。

#include "stdafx.h"

#include <pcl/io/openni2_grabber.h>

#include <pcl/visualization/cloud_viewer.h>

class SimpleOpenNIViewer

{

public:
SimpleOpenNIViewer() : viewer("PCL OpenNI Viewer") {}

void cloud_cb_(const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &cloud)
{
if (!viewer.wasStopped())
viewer.showCloud(cloud);
}

void run()
{
pcl::Grabber* interface1 = new pcl::io::OpenNI2Grabber();

boost::function<void(const pcl::PointCloud<pcl::PointXYZ>::ConstPtr&)> f =
boost::bind(&SimpleOpenNIViewer::cloud_cb_, this, _1);

interface1->registerCallback(f);

interface1->start();

while (!viewer.wasStopped())
{
boost::this_thread::sleep(boost::posix_time::seconds(1));
}

interface1->stop();
}

pcl::visualization::CloudViewer viewer;

};

int main()

{
SimpleOpenNIViewer v;
v.run();
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: