PCL点云数据格式,可用的PointT类型_岁月神偷小拳拳的博客-CSDN博客_pcl哪些操作会改变点云的有序
点云有很多中格式,我们最长见的就是xyz的格式,下面我们大概罗列一下点云的格式:
PointXYZ、PointXYZI、PointXYZRGBA、PointXYZRGB、PointXY、InterestPoint、Normal、PointNormal、PointXYZRGBNormal、PointXYZINormal、PointXYZLNormal、PointXYZL、PointXYZRGBL、PointXYZHSV、PointWithRange、PointWithViewpoint、MomentInvariants、PrincipalRadiiRSD、Boundary、PrincipalCurvatures、PFHSignature125、FPFHSignature33、VFHSignature308、Narf36、BorderDescription、IntensityGradient、Histogram、PointWithScale、PointSurfel。
成员: float x y z
- union
- {
- float data[4];
- struct
- {
- float x;
- float y;
- float z;
- };
- };
pcl::PointCloud
cloud.points[i].x
成员变量: float x, y, z, intensity(强度图);
PointXYZI是在PointXYZ的基础上加上了intensity 的类型,对于兼容存储对齐,用三个额外的浮点数来填补intensity,这样在存储方面效率较低,但是符合存储对齐要求,运行效率较高。
- union
- {
- float data[4];
- struct
- {
- float x;
- float y;
- float z;
- };
- };
- union
- {
- struct
- {
- float intensity;
- };
- float data_c[4];
- };
成员变量: float x, y, z; uint32_t rgba;
- union
- {
- float data[4];
- struct
- {
- float x;
- float y;
- float z;
- };
- };
- union
- {
- struct
- {
- uint32_t rgba;
- };
- float data_c[4];
- };
成员变量:float x, y, z, rgb;
- union
- {
- float data[4];
- struct
- {
- float x;
- float y;
- float z;
- };
- };
- union
- {
- struct
- {
- float rgb;
- };
- float data_c[4];
- };
除了strength表示关键点的强度的测量值,其它的和PointXYZI类似。
- union
- {
- float data[4];
- struct
- {
- float x;
- float y;
- float z;
- };
- };
- union
- {
- struct
- {
- float strength;
- };
- float data_c[4];
- };
成员变量:float normal[3], curvature;
Normal结构体表示给定点所在样本曲面上的法线方向,以及对应曲率的测量值
- union
- {
- float data_n[4];
- float normal[3];
- struct
- {
- float normal_x;
- float normal_y;
- float normal_z;
- };
- }
- union
- {
- struct
- {
- float curvature;
- };
- float data_c[4];
- }
成员变量:float x, y, z; float normal[3], curvature(曲率);
PointNormal是存储XYZ数据的point结构体,并且包括采样点对应法线和曲率。
- union
- {
- float data[4];
- struct
- {
- float x;
- float y;
- float z;
- };
- };
- // 法线
- union
- {
- float data_n[4];
- float normal[3];
- struct
- {
- float normal_x;
- float normal_y;
- float normal_z;
- };
- };
- // 曲率
- union
- {
- struct
- {
- float curvature;
- };
- float data_c[4];
- };
成员变量:float x, y, z, rgb 颜色, normal[3] 法向量, curvature 曲率;
PointXYZRGBNormal存储XYZ数据和RGB颜色的point结构体,并且包括曲面法线和曲率。
- union
- {
- float data[4];
- struct
- {
- float x;
- float y;
- float z;
- };
- };
-
- // 法向量
- union
- {
- float data_n[4];
- float normal[3];
- struct
- {
- float normal_x;
- float normal_y;
- float normal_z;
- };
- }
- union //固定颜色 和 曲率
- {
- struct
- {
- float rgb;
- float curvature;
- };
- float data_c[4];
- };
成员变量:float x, y, z, intensity, normal[3], curvature;
PointXYZINormal存储XYZ数据和强度值的point结构体,并且包括曲面法线和曲率。
- union
- {
- float data[4];
- struct
- {
- float x;
- float y;
- float z;
- };
- };
- union
- {
- float data_n[4];
- float normal[3];
- struct
- {
- float normal_x;
- float normal_y;
- float normal_z;
- };
- }
- union
- {
- struct
- {
- float intensity;
- float curvature;
- };
- float data_c[4];
- };
成员变量:float x, y, z, uin32_t label