PCL为3D点云数据处理提供丰富强大的接口,本文记录利用多台Realsense D435生成并显示点云。代码在显示部分仅适用于小于等于两台设备的接入,大于两台需要稍微修改多台接入的点云处理部分程序。
PCLVisualizer可视化类是PCL中功能最全的可视化类,与CloudViewer可视化类相比,PCLVisualizer使用起来更为复杂,但该类具有更全面的功能,如显示法线、绘制多种形状和多个视口。
boost::shared_ptr viewer1(new pcl::visualization::PCLVisualizer("3D Viewer"));
viewer1->addCoordinateSystem(0.1);////添加坐标系,输入是坐标系三个圆柱体的规模因子
viewer1->initCameraParameters();////初始化相机角度等参数
viewer1->setBackgroundColor(0, 0, 0);//背景颜色
viewer1->addPointCloud(cloud, "cloud1");
viewer1>setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cloud1");
viewer1->spinOnce(1);
viewer1->removePointCloud("cloud1");////addPointCloud()后需要使用removePointCloud()来清楚指定ID的点云
-
代码主要参考的链接如下:Realsense github官网的PCL wrappers,Realsense github官网的examples中的multicam例程,PCL中国官方教程。
-
完整代码如下:
#include
#include
#include
#include
#include
#include "stdafx.h"
#include