点云(Point Cloud)是离散点的集合,不仅包括三维点的位置信息,有时也包含点的材质反射信息和RGB信息,广泛应用于机器人抓取、识别、定位与运动规划中。PLC库是专门的处理点云运算的库,类似于图像中的opencv库。
1,C++ 的PCL库点云数据结构:采用SSE对齐方式,既满足存储的要求,也满足便于高效运算的要求,并采用模板来满足不同数据格式的要求。
2,ROS中PCL数据结构
3,pcd文件中点云存取
拓展:ros PCL与c++下PCL的点云数据可以进行转换:
PCL中点云数据格式之间的转换
点云获取–>体素化(下采样)–>特征提取(如法向量等)–>随机采样聚类分割–>构建凸包–>地面/桌面去除–>欧氏距离分割。
参考博文:
【PCL笔记】Filtering 点云滤波
从零开始一起学习SLAM | 给点云加个滤网
参考博文:
PCL学习八叉树
kd-tree理论以及在PCL 中的代码的实现
概念与构建
KD Tree多用于K近邻搜索,之后利用邻域计算该点的特征向量,如法向量等。
利用RANSAC拟合直线、面、球、圆柱等
PCL分割拟合函数
欧几里得聚类
区域生长算法
语义分割多用了稠密的RGBD点云数据。