Lidar系列文章
传感器融合是将多个传感器采集的数据进行融合处理,以更好感知周围环境;这里首先介绍激光雷达的相关内容,包括激光雷达基本介绍(本节内容),激光点云数据处理方法(点云数据显示与裁剪,点云分割,点云聚类,障碍物识别实例)等。
系列文章目录
1. 激光雷达基本介绍
2. 激光点云数据显示
3. 基于RANSAC的激光点云分割
4. 点云分割入门级实例学习
5. 激光点云目标物聚类
6. 基于PCL实现欧式聚类提取
7. 激光雷达障碍物识别
基于PCL的激光点云可视化实例
本小节主要介绍激光点云的可视化,主要利用PCL对道路的激光点云进行可视化。
本实例中首先实例化了一个含有RGB颜色的激光点云对象,然后将这个激光点云对象指针作为参数,传入PCL中的激光点云读取函数中,将激光点云文件读取到实例化的激光点云对象的指针中。接下来,实例化一个激光点云可视化对象viewer1
,通过这个对象调用addPointCloud()
方法。实例化的激光点云传入viewer1对象后,设置激光点云可视化窗口的背景颜色。
#include<pcl/visualization/pcl_visualizer.h>
#include<iostream>//标准C++库中的输入输出类相关头文件。
#include<pcl/io/io.h>
#include<pcl/io/pcd_io.h>//pcd 读写类相关的头文件。
using namespace std;
using namespace pcl;
typedef pcl::PointXYZI PointIoType;//对激光点云类型进行宏定义
int main(int argc, char** argv){
pcl::PointCloud<PointIoType>::Ptr cloud(new pcl::PointCloud<PointIoType>());
if (pcl::io::loadPCDFile("../data/simpleHighway.pcd", *cloud) == -1)
return (-1);
boost::shared_ptr<pcl::visualization::PCLVisualizer