多视图可视化
本文对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。
以上内容如有错误或者需要补充的,请留言!同时欢迎大家关注微信公众号,积极分享投稿,或者加入3D视觉微信群或QQ交流群。
原创不易,转载请联系群主,注明出处
●文章来源 |翻译组张子豪
●排版 | 杨滚滚