PCL中多个可视化窗口

多视图可视化

本文对PCL库中如何在一个窗口中显示多个点云图进行了探索。

主要所有函数如下:

viewer->createViewPort(double   Xmin,double Ymin,double Xmax,double Ymax)

createViewPort是用于创建新视口的函数,所需的4个参数分别是视口在X轴的最小值、最大值,Y轴的最小值、最大值,取值在0-1之间。

双视窗口举例

boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new

pcl::visualization::PCLVisualizer("3D Viewer"));

viewer->initCameraParameters();

int v1(0);

viewer->createViewPort(0.0, 0.0, 0.5, 1.0, v1);

int v2(0);

viewer->createViewPort(0.5, 0.0, 1.0, 1.0, v2);

viewer->setBackgroundColor(255, 0, 255,v1);

viewer->setBackgroundColor(0, 255, 255,v2);

viewer->addCoordinateSystem();

viewer->spin();

分析:坐标原点在左上角。v1视口(xmin=0,ymin=0,xmax=0.5,ymax=1.0)就是他的x介于0-0.5之间,也就是窗口的一半。

三个视窗

boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new

pcl::visualization::PCLVisualizer("3D Viewer"));

viewer->initCameraParameters();

int v1(0);

viewer->createViewPort(0.0, 0.0, 0.33, 1.0, v1);

int v2(0);

viewer->createViewPort(0.33, 0.0,0.66, 1.0, v2);

int v3(0);

viewer->createViewPort(0.66, 0.0, 1.0, 1.0, v3);

viewer->setBackgroundColor(255, 0, 255,v1);

viewer->setBackgroundColor(0, 255, 255,v2);

viewer->setBackgroundColor(255, 255, 0, v3);

viewer->addCoordinateSystem();

viewer->spin();

可以推出来田字格4视口怎么弄了,如下

viewer->creatViewPort(0.0,0.0,0.5,0.5,v1);

viewer->creatViewPort(0.5,0.0,1.0,0.5,v2);

viewer->creatViewPort(0.0,0.5,0.5,1.0,v3);

viewer->creatViewPort(0.5,0.5,1.0,1.0,v4);

目前微信交流群不断壮大,由于人数太多,目前有两个群,为了鼓励大家分享,我们希望大家能在学习的同时积极分享,将您的问题或者小总结投稿发到群主邮箱主邮箱dianyunpcl@163.com。

●文章来源 |翻译组张子豪

(0)

相关推荐