PCL点云库中的坐标系(CoordinateSystem)
首先介绍一下PCL点云库visualization模块中的PCLVisualizer类,它是PCL可视化3D点云的主要类,该类具有更全面的功能,如显示法线、绘制多种形状和多个视口等,其内部实现了添加各种3D对象以及交互实现等。其中addCoordinateSystem()函数可以在可视化窗口中的坐标原点(0,0,0)处添加一个红绿蓝三色的三维指示坐标轴,红色是X轴,绿色是Y轴,蓝色是Z,也就是说PCL点云库中使用的是右手三维坐标系。
#include
#include
#include
#include
int main(int argc, char** argv)
{
//显示类
pcl::visualization::PCLVisualizer viewer("Cloud Viewer");
//添加坐标系
viewer.addCoordinateSystem();
//让可视化视窗停住,否则一闪而过。
while (!viewer.wasStopped())
{
viewer.spinOnce();
}
return (0);
}
点云可视化——实时显示点云流
//实时显示点云流
int main()
{
pcl::visualization::PCLVisualizer viewer(“Cloud”);
pcl::PointCloud::Ptr cloud(new pcl::PointCloud);
int frame=0;
while(1)
{
char buf[233];
if (frame != 0)
{
sprintf(buf, “frame%d”, frame); //frame0, frame1 ...
viewer.removePointCloud(buf); //每次都删除上一帧的点云数据
}
sprintf(buf, “frame%d”, ++frame);
//TODO: 更新cloud
viewer.addPointCloud(cloud, buf);
viewer.spinOnce();
}
return 0;
}
参考
- PCLVisualizer CloudViewer 基本使用: http://www.360doc.com/content/19/0309/17/3478092_820321330.shtml
-
点云实时显示