博客转载自: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[];
struct
{
float x;
float y;
float z;
};
};
union
{
struct
{
float strength;
};
float data_c[];
};

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[];
float normal[];
struct
{
float normal_x;
float normal_y;
float normal_z;
};
}
union
{
struct
{
float curvature;
};
float data_c[];
};

PointNormal - float x, y, z; float normal[3], curvature;

PointNormal是存储XYZ数据的point结构体,并且包括采样点对应法线和曲率。

union
{
float data[];
struct
{
float x;
float y;
float z;
};
};
union
{
float data_n[];
float normal[];
struct
{
float normal_x;
float normal_y;
float normal_z;
};
};
union
{
struct
{
float curvature;
};
float data_c[];
};

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

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

参考文献:

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

PCL中有哪些可用的PointT类型(2)的更多相关文章

  1. PCL中有哪些可用的PointT类型(1)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=266 为了涵盖能想到的所有可能的情况,PCL中定义了大量的point类型.下 ...

  2. PCL中有哪些可用的PointT类型(4)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=269 PointWithViewpoint - float x, y, z, ...

  3. PCL中有哪些可用的PointT类型(3)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=268 PointXYZRGBNormal - float x, y, z, ...

  4. PCL中有哪些可用的PointT类型(5)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=270 Narf36 - float x, y, z, roll, pitch ...

  5. PCL中可用的PointT类型

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

  6. 如何增加新的PointT类型

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=286 为了增加新的point类型,首先需要进行定义,例如: struct M ...

  7. ORACLE 当字段中有数据如何修改字段类型

    创建视图的时候,因为表太多,里面一些字段类型不一样,PL/SQL报错,为‘表达式必须具有对应表达式相同的数据类型’,发现后,一个字段的类型为CLOB和VARCHAR2(4000)两种,将CLOB进行修 ...

  8. 3.3PCL已有点类型介绍和增加自定义的点类型

    1.PCL中有哪些可用的PointT类型 这些point类型都位于point_types.hpp文件中,如果用户需要自己定义类型,需要对已有类型了解. 1)PointXYZ---成员变量:float ...

  9. pcl学习笔记(二):点云类型

    不同的点云类型 前面所说的,pcl::PointCloud包含一个域,它作为点的容器,这个域是PointT类型的,这个域是PointT类型的是pcl::PointCloud类的模板参数,定义了点云的存 ...

随机推荐

  1. linecache:高效的读取文本文件

    介绍  可以很方便的读取文件 读取特定行 import linecache ''' 我们常用的序列的索引是从0开始的,但是linecache模块读取的文件行号是从1开始的 ''' # 表示读取C:\p ...

  2. Hadoop_13_Hadoop Shell脚本采集日志上传到HDFS

    案例1:开发shell采集脚本 1.点击流日志每天都10T,在业务应用服务器上,需要准实时上传至数据仓库(Hadoop HDFS)上 2.一般上传文件都是在凌晨24点操作,由于很多种类的业务数据都要在 ...

  3. vsftpd的安装和配置

    1  安装vsftpd sudo apt-get install vsftpd 2  测试是否安装成功 sudo service vsftpd restart 如果有反应即成功 3  彻底卸载vsft ...

  4. Python&Selenium 数据驱动【unittest+ddt+json+HTMLTestRunner】

    一.摘要 本博文将介绍Python和Selenium做自动化测试的时候,基于unittest框架,借助ddt模块使用json文件作为数据文件作为测试输入,最后借助著名的HTMLTestRunner.p ...

  5. php 把数字拆分成数组

    用str_split $a = 1234567890; //拆分数字为数组 var_dump( str_split($a, 1) ); 打印结果 : Array ( [0] =2 [1] =5 )

  6. C# 内存管理和指针 (13)

    本章要点 运行库在栈和堆上分配空间 垃圾回收 使用析构函数 和 SYstem.IDisposable 接口来释放非托管的资源 C#中使用指针的语法 使用指针实现基于栈的高性能数组 值类型数据 程序第一 ...

  7. Eclipse里修改SVN的用户名和密码

    删除Eclipse subclipse plugin中记住的SVN用户名密码: 1) 查看你的Eclipse中使用的是什么SVN Interface    windows > preferenc ...

  8. IDEA-maven的配置

    一.下载maven的包 http://www.apache.org/ 1.在网页中打开上面的网址,进入下面的页面 2.拖动滚动条往下拉,找到maven 进入之后,点击Download 3.选择wind ...

  9. python之collections模块(nametuple,Counter)

    前言: import collections print([name for name in dir(collections) if not name.startswith("_" ...

  10. vue-cropperjs 图片裁剪上传功能使用方法记录

    引入: 官网:https://www.npmjs.com/package/vue-cropperjs 控制台输入: npm install --save vue-cropperjs vue 项目中引入 ...