一、简介
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。
1、Point XYZ 每个点都显示固定的颜色
成员: float x y z
-
union
-
{
-
float data[4];
-
struct
-
{
-
float x;
-
float y;
-
float z;
-
};
-
};
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ> );
cloud.points[i].x
2.PointXYZI
成员变量: 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];
-
};
3.PointXYZRGBA
成员变量: 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];
-
};
4.PointXYZRGB 每个点都显示各自的颜色
成员变量:float x, y, z, rgb;
-
union
-
{
-
float data[
4];
-
struct
-
{
-
float x;
-
float y;
-
float z;
-
};
-
};
-
union
-
{
-
struct
-
{
-
float rgb;
-
};
-
float data_c[
4];
-
};
5、PointXY
6、InterestPoint
除了strength表示关键点的强度的测量值,其它的和PointXYZI类似。
-
union
-
{
-
float data[
4];
-
struct
-
{
-
float x;
-
float y;
-
float z;
-
};
-
};
-
union
-
{
-
struct
-
{
-
float strength;
-
};
-
float data_c[
4];
-
};
7 .Normal
成员变量: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];
-
}
8.PointNormal
成员变量: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];
-
};
9.PointXYZRGBNormal
成员变量: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];
-
};
10.PointXYZINormal
成员变量: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];
-
};
11.PointXYZL
成员变量:float x, y, z, uin32_t label
转载:https://blog.csdn.net/weixin_39354845/article/details/127930732