PCL中可用的PointT类型

简介: PCL中可用的PointT类型:PointXYZ——成员变量:float x,y,z;     PointXYZ是使用最常见的一个点数据类型,因为他之包含三维XYZ坐标信息,这三个浮点数附加一个浮点数来满足存储对齐,可以通过points[i].

PCL中可用的PointT类型:

PointXYZ——成员变量:float x,y,z;

     PointXYZ是使用最常见的一个点数据类型,因为他之包含三维XYZ坐标信息,这三个浮点数附加一个浮点数来满足存储对齐,可以通过points[i].data[0]或points[i].x访问点X的坐标值

union
{
float data[4];
struct
{
float x;
float y;
float z;
};
};

PointXYZI——成员变量:float x,y,z,intensity

PointXYZI是一个简单的X Y Z坐标加intensity的point类型,是一个单独的结构体,并且满足存储对齐,由于point的大部分操作会把data[4]元素设置成0或1(用于变换),

不能让intensity与XYZ在同一个结构体中,如果这样的话其内容将会被覆盖,例如:两个点的点积会把第四个元素设置为0,否则点积没有意义,

union{
float data[4];
struct
{
float x;
float y;
float z;
};
};
union{
struct{
float intensity;
};
float data_c[4];
};

 PointXYZRGBA——成员变量:float x,y,z;uint32_t  rgba  除了RGBA信息被包含在一个整型变量中,其他的和PointXYZI类似

union{
float data[4];
struct
{
float x;
float y;
float z;
};
};
union{
struct{
float rgba;
};
float data_c[4];
};

PointXYZRGB——float x,y,z,rgb   除了RGB信息被包含在一个浮点数据变量中,其他的和 PointXYZRGBA

union{
float data[4];
struct
{
float x;
float y;
float z;
};
};
union{
struct{
float rgb;
};
float data_c[4];
};

PointXY——成员变量:float x,y        简单的二维x-y结构代码

struct{
float x;
float y;
};

InterestPoint——成员变量:float x,y,z,strength除了strength表示关键点的强度测量值,其他的和PointXYZI

union{
float data[4];
struct
{
float x;
float y;
float z;
};
};
union{
struct{
float strength;
};
float data_c[4];
};

Normal——成员变量:float normal[3],curvature;

另一个常用的数据类型,Normal结构体表示给定点所在样本曲面上的法线方向,以及对应曲率的测量值,例如访问法向量的第一个坐标可以通过points[i].data_n[0]或者points[i].normal[0]或者points[i]

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];
};

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];
};

 未完待续***************************************88888888888

备注:关于点云库PCL的学习,可以扫描二维码关注公众号,有兴趣的可以直接在公众号回复与我交流,相互学习,

                        

相关文章
|
XML 安全 Java
自定义PMD检测的类型集合(详解)
自定义PMD检测的类型集合(详解)
自定义PMD检测的类型集合(详解)
|
3月前
|
计算机视觉 索引
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
本文介绍了解决OpenCV读取视频失败的错误,指出问题通常由视频路径错误或摄像头索引错误导致,并提供了相应的解决方法。
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
|
数据库
设置EntityFramework中decimal类型数据精度问题(EF默认将只会保留到2为精度)
原文:设置EntityFramework中decimal类型数据精度 EF中默认的decimal数据精度为两位数,当我们数据库设置的精度大于2时,EF将只会保留到2为精度。 e.g. 2.19990将会被保存为2.
3015 0
|
数据采集 移动开发 数据可视化
空间转录组|Load10X_Spatial函数修改适配多形式数据 + 空转标准流程
空间转录组|Load10X_Spatial函数修改适配多形式数据 + 空转标准流程
645 0
ROS中PointCloud转换为PointCloud2类型
ROS中PointCloud转换为PointCloud2类型
412 0
|
算法 数据可视化 定位技术
基于PCL库的通过ICP匹配多幅点云方法
基于PCL库的通过ICP匹配多幅点云方法
基于PCL库的通过ICP匹配多幅点云方法
|
网络协议 编译器 测试技术
创建 struct 实例指定字段值 | 学习笔记
快速学习创建 struct 实例指定字段值
PCL:点云保存遇到的问题及解决方法
之前已经完成kinect2实时获取点云,那么接下来准备将点云保存到本地,点云扩展名为pcd。在网上查找资料普遍都是这个方法。 我就按着这个步骤尝试,首先创建一个空点云(pcl::PointCloud cloud;),接着定义点云的大小和格式,然后把信息写入点云,再使用(pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud);),保存为pcd文件。
2646 0