zoukankan      html  css  js  c++  java
  • PCL中可用的PointT类型

    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的学习,可以扫描二维码关注公众号,有兴趣的可以直接在公众号回复与我交流,相互学习,

                            

  • 相关阅读:
    Windows核心编程(笔记11) 第十三章 Windows内存体系结构 四
    源码网站推荐 四
    程序员应知——破窗与童子军军规 四
    warning LNK4098 VC开发中遇到的问题 四
    各种系统架构图及其简介 四
    Windows核心编程(笔记10) 第十一章 Windows线程池 第十二章 纤程 四
    Windows核心编程(笔记12) 第十四章 探索虚拟内存 第十五章 在应用程序中使用虚拟内存 四
    Perl、PHP、ASP、JSP技术比较 四
    #pragma 预处理指令详解 四
    实战剖析三层架构 四
  • 原文地址:https://www.cnblogs.com/li-yao7758258/p/6433445.html
Copyright © 2011-2022 走看看