zoukankan      html  css  js  c++  java
  • PCL中有哪些可用的PointT类型(2)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=267

    PointXY-float x, y;

    简单的二维x-y point结构

    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结构体表示给定点所在样本曲面上的法线方向,以及对应曲率的测量值(通过曲面块特征值之间关系获得——查看NormalEstimation类API以便获得更多信息,后续章节有介绍),由于在PCL中对曲面法线的操作很普遍,还是用第四个元素来占位,这样就兼容SSE和高效计算,例如,用户访问法向量的第一个坐标,可以通过points[i].data_n[0]或者points[i].normal[0]或者points[i].normal_x,再一次强调,曲率不能被存储在同一个结构体中,因为它会被普通的数据操作覆盖掉。

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

    未完待续,敬请关注“PCL中有哪些可用的PointT类型(3)”的其他内容。

    敬请关注PCL(Point Cloud Learning)中国更多的点云库PCL(Point Cloud Library)相关官方教程。

     

    参考文献:

    1.朱德海、郭浩、苏伟.点云库PCL学习教程(ISBN 978-7-5124-0954-5)北京航空航天出版

  • 相关阅读:
    MyEclipse中快速查看错误
    MyEclipse中快速跳转到指定行号位置
    MyEclipse关闭当前正在编辑的页面
    dict、defaultdict 和 OrderedDict 比较
    过滤器的使用
    cookie和session
    session的使用
    Java的常量和变量
    Java面向对象
    Java方法
  • 原文地址:https://www.cnblogs.com/flyinggod/p/8595819.html
Copyright © 2011-2022 走看看