欢迎点云相关产学研的学者和团体加入我们。
下面函数是主函数,首先加载点云文件到点云对象,并初始化可视化对象viewer,注册上面定义的回调函数,执行循环直到收到关闭viewer的消息退出程序。
int
main ()
{
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZRGBA>);
pcl::io::loadPCDFile ("maize.pcd", *cloud); //加载点云文件
pcl::visualization::CloudViewer viewer("Cloud Viewer"); //创建viewer对象
//showCloud函数是同步的,在此处等待直到渲染显示为止
viewer.showCloud(cloud)
//该注册函数在可视化时只调用一次
viewer.runOnVisualizationThreadOnce (viewerOneOff);
//该注册函数在渲染输出时每次都调用
viewer.runOnVisualizationThread (viewerPsycho);
while (!viewer.wasStopped ())
{
//在此处可以添加其他处理
user_data++;
}
return0;
}
利用光盘提供的CMakeLists.txt文件,在cmake中建立工程文件,并生成相应的可执行文件,生成执行文件后,就可以运行了,在cmd中键入命令:
...>cloud_viewer.exe
运行结果如图1所示,可以看到一个圆球、玉米的点云、动态刷新的字符串。
图1 CloudViewer实例运行结果
敬请关注PCL(Point Cloud Learning)中国更多的点云库PCL(Point Cloud Library)相关官方教程。
参考文献:
1.朱德海、郭浩、苏伟.点云库PCL学习教程(ISBN 978-7-5124-0954-5)北京航空航天出版社 2012-10