PCL已有点类型介绍和增加自定义的点类型
博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=265
本小节不仅解释如何增加你自己的PointT点类型,也介绍了PCL中的模板point类型,以及它们的用处和定义。PCL从开始就伴随着各种预定义的point类型,从用于XYZ数据到更复杂的n维直方图表示法,例如PFH(点特征直方图)。这些类型应该足够支持在PCL中应用的算法及方法,然而,也有情况下用户希望定义新的类型。
注意:由于PCL的快速更新,本节内容仅仅对PCL 0.x和1.x版本兼容,撰写本文档的时候预期在PCL 2.X中会有新的改变,但大的架构不变,只是添加些新定义的描述子等点类型之类的。
为什么用PointT类型
PCL的PointT可以追溯到它在ROS中作为开源库被开发的时候,大家一致认为,点云是复杂的n维结构,它需要能表示不同类型的信息,然而用户应该知道并理解需要传送什么样的信息,为了使代码更易于调试,考虑优化等等,下面给出一个例子,是对XYZ数据的简单操作,对带SSE功能的处理器,最高效的方法是存储3维坐标为浮点型,紧跟着一个浮点型数据作为填补位数以满足存储对齐要求:
struct PointXYZ
{
float x;
float y;
float z;
float padding;
};
然而,例如当用户在嵌入式平台上寻找编译PCL的时候,增加额外的填补就是浪费存储空间了,因此,可以用一个简单的不带最后浮点数的PointXYZ结构来替代。此外,如果你的应用程序需要一个包含XYZ三维数据、RGB信息(颜色)和每个点的估计法线的PointXYZRGBNormal类型,定义包含以上所有内容的结构是很简单的,由于PCL中所有的算法都是模板化的,除了更改的自定义结构之外,不需要做其他的更改,增加了代码的重用性和可读性。
敬请关注PCL(Point Cloud Learning)中国更多的点云库PCL(Point Cloud Library)相关官方教程。
参考文献:
1.朱德海、郭浩、苏伟.点云库PCL学习教程(ISBN 978-7-5124-0954-5)北京航空航天出版社2012-10
PCL已有点类型介绍和增加自定义的点类型的更多相关文章
- 3.3PCL已有点类型介绍和增加自定义的点类型
1.PCL中有哪些可用的PointT类型 这些point类型都位于point_types.hpp文件中,如果用户需要自己定义类型,需要对已有类型了解. 1)PointXYZ---成员变量:float ...
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 | 被围观 25,969 views+ 1.Anno ...
- iOS回顾笔记(08) -- 自定义Cell的类型和创建步骤总结
iOS回顾笔记(08) -- 自定义Cell的类型和创建步骤总结 项目中我们常见的自定义cell主要分为两种 等高cell:如应用列表.功能列表 非等高cell:如微博列表.QQ聊天页面 下面对这 ...
- HTTP协议的8种请求类型介绍
HTTP协议的8种请求类型介绍 转自:http://www.cnblogs.com/liangxiaofeng/p/5798607.html HTTP协议的8种请求类型介绍 HTTP协议中共定义了八种 ...
- Typescript项目注意点和基本类型介绍
从typescript源文件到执行的过程 执行者 步骤 说明 TSC 1. TypeScript Source -> TypeScript AST TSC将ts文件转为TS AST(abstra ...
- map自定义键值类型
map自定义键值类型 改变Map的默认比较方式 https://www.cnblogs.com/zjfdlut/archive/2011/08/12/2135698.html 大家知道,STL中的ma ...
- WebKit Web Inspector增加覆盖率分析和类型推断功能
WebKit中的Web Inspector(Web检查器)主要用于查看页面源代码.实时DOM层次结构.脚本调试.数据收集等,日前增加了两个十分有用的新功能:覆盖率分析和类型推断.覆盖率分析工具能够可视 ...
- Solidity教程系列1 - 类型介绍
现在的Solidity中文文档,要么翻译的太烂,要么太旧,决定重新翻译下,再加上代码事例讲解. 写在前面 Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果 ...
- 智能合约语言 Solidity 教程系列1 - 类型介绍
现在的Solidity中文文档,要么翻译的太烂,要么太旧,决定重新翻译下.尤其点名批评极客学院名为<Solidity官方文档中文版>的翻译,机器翻译的都比它好,大家还是别看了. 写在前面 ...
随机推荐
- 如何处理不能新建word、excel、PPT的情况?
Office系列办公软件是大家都非常喜欢使用的软件,但是有些朋友反映在使用电脑时,在桌面右键菜单新建选项里没有Word.Excel或PPT,非常的耽误工作. 下面就为大家介绍一下桌面右键菜单新建选项里 ...
- Flutter——Text组件(文字组件)
名称 功能 textAlign 文本对齐方式(center 居中,left 左 对齐,right 右对齐,justfy 两端对齐) textDirection 文本方向(ltr 从左至右,rtl 从右 ...
- C和指针--编程题9.14第10小题--判断回文函数
题目: 编写函数 int palindrom( char *string); 如果参数字符串是个回文,函数就返回真,否则就返回假.回文就是指一个字符串从左向右读和从右向左读是一样的.函数应忽略所有的非 ...
- java_实现Hello World
1.新建项目 在空白处右击--New--java Project 2.项目文件结构 新建了项目之后项目文件在工作空间里面,(如果忘记工作空间的路径可以点击File---Switch Workspace ...
- 从后台数据库查询的List数据怎么在前台combobox显示
后台直接从数据库,通过jdbcTemplate查询数据,得到List数据集,里面是Map List<Map<String, Object>> list = jdbcTempl ...
- mysql大数据解决方案--分表分库(0)
引言 对于一个大型的互联网应用,海量数据的存储和访问成为了系统设计的瓶颈问题,对于系统的稳定性和扩展性造成了极大的问题.通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式. •水 ...
- mysql_config_editor设置
[root@node01 etc]# mysql_config_editor set -G mysql3307 -S /tmp/mysql3307.sock -uroot -pEnter passwo ...
- 两种atm取款方式
1.//函数 密码 账号function User(username, password, account){ this.username = username; this.password = pa ...
- javascript内置对象:Date
JavaScript内置函数:Date时间<script> var today=new Date(); weeks=["日","一",& ...
- Can't connect to MySQL server on xxx (10061)
报错原因,数据库服务没有启动,在JDBC连接mysql数据库时会报错 解决方式,在服务中启用Mysql 备注:运行环境: windows10 x64 JDK 1.8.0_181 mysql-conne ...