- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《点云库PCL学习教程》第6章-八叉树.pptx
第6章 八叉树建立空间索引在点云数据处理中已被广泛应用,常见空间索引一般是自顶向下逐级划分空间的各种空间索引结构,比较有代表性的包括BSP树、KD树、KDB树、R树、R+树、CELL树、四叉树和八叉树等索引结构,而在这些结构中KD树和八叉树在3D点云数据组织中应用较为广泛。PCL对八叉树的数据结构建立和索引方法进行了实现,以方便在此基础上的其他点云处理操作。本章首先对常用的点云空间索引方法octree概念进行介绍,然后对PCL的octree相关模块及类进行简单说明,最后通过应用实例来展示如何对PCL中octree模块进行灵活运用。本章各小节目录6.1 octree概述及相关算法简介6.2 PCL中octree模块及类介绍6.3 应用实例解析6.1 octree概述及相关算法简介八叉树结构是由Hunter博士于1978年首次提出的一种数据模型。八叉树结构通过对三维空间的几何实体进行体元剖分,每个体元具有相同的时间和空间复杂度,通过循环递归的划分方法对大小为2n×2n×2n的三维空间的几何对象进行剖分,从而构成一个具有根节点的方向图。在八叉树结构中如果被划分的体元具有相同的属性,则该体元构成一个叶节点;否则继续对该体元剖分成8个子立方体,依次递归剖分,对于2n×2n×2n大小的空间对象,最多剖分n次,如图6-1所示。 6.2 PCL中octree模块及类介绍PCL中octree库提供了octree数据结构,利用FLANN进行快速邻域检索。邻域检索在匹配、特征描述子计算、领域特征提取中是非常基础的核心操作。octree模块利用十几个类实现了利用octree数据结构对点云的高效管理和检索,以及相应的一些空间处理算法,例如压缩、空间变化检测,其依赖于pcl_common模块。octree模块中类说明目前PCL中octree模块中目前共有16个类,以后有可能增加。1. class pcl::octree::Octree2BufBaseDataT, LeafT类Octree2BufBase实现了同时存储管理两个八叉树于内存中,如此,可以非常高效地实现八叉树的建立管理等操作,并且该类实现对临近树节点结构的变化探测,对应到空间点云,其就可以对空间曲面的动态变化进行探测,在进行空间动态变化探测中非常有用,例如目前基于kinect设备的体感交互应用。类Octree2BufBase关键成员函数:void setMaxVoxelIndex(unsigned int maxVoxelIndex_arg)设置在各个维度上最大的体素个数。void setTreeDepth(unsigned int depth_arg)设置八叉树的深度,需要在初始化八叉树时设置。void add(unsigned int idxX_arg, unsigned idxY_arg, unsigned int idxZ_arg, const DataT data_arg)在idxX、idxY、idxZ对应的叶子节点上填充DataT的数据,其中idxX、idxY、idxZ为在三个维度上的整型索引值。bool existLeaf(unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg) const判断在idxX、idxY、idxZ对应的叶子节点是否存在,如果存在返回true,否则返回false。unsigned int getLeafCount() const返回在该八叉树中的叶子数目。unsigned int getBranchCount() const返回在该八叉树中的分支数目。void deleteTree(bool freeMemory_arg=false)删除八叉树的结构及其叶子节点。void deletePreviousBuffer()删除另一个缓冲区中对应八叉树的结构及其叶子节点。void deleteCurrentBuffer()删除当前缓冲区中对应八叉树的结构和其叶子节点。void switchBuffers()交换缓冲区,并重设八叉树结构。void serializeTree(std::vectorchar binaryTreeOut_arg, bool doXOREncoding_arg=false)串行化输出八叉树结构到binaryTreeOut_arg向量,doXOREncoding_arg设置输出时是否将当前缓冲区与后台缓冲区中数据进行异或操作后再输出,异或操作是两个八叉树结构之间差异数据的输出。void serializeTree(std::vectorchar binaryTreeOut_arg, std::vectorDataT dataVector_arg, bool d
您可能关注的文档
- -企业所得税月季度预缴纳税申报表讲解.ppt
- 0-国家公卫规范第三版培训课件-档案高血压-贵州终稿.pptx
- 0-课程相关综述1.ppt
- 03-第三章-企业的研究与开发.ppt
- 08-第八章-后勤管理.ppt
- 0、如何提升物业服务品质----基础-1.ppt
- 1--食品安全风险交流预警湖南.ppt
- 1-2013年国税局企业所得税汇算清缴辅导资料..ppt
- 1-事业单位制度会计课件.ppt
- 1.2校园里的树木-2.ppt
- 2025结构工程师考试历年机考真题集【名校卷】附答案详解.docx
- 2025结构工程师考试历年机考真题集【考点梳理】附答案详解.docx
- 2025结构工程师考前冲刺试卷(考点提分)附答案详解.docx
- 开展读书笔记评比激发参与热情.docx
- 2025结构工程师考前冲刺试卷(突破训练)附答案详解.docx
- 2025结构工程师考前冲刺试卷(真题汇编)附答案详解.docx
- 2025结构工程师考前冲刺试卷(实用)附答案详解.docx
- 科学研究中文献检索技巧及其重要性.docx
- 2025结构工程师考前冲刺试卷(完整版)附答案详解.docx
- 爱普生CH-TW740_750 使用说明书多媒体液晶投影机.pdf
最近下载
- 人乳头瘤病毒感染护理.pptx VIP
- 压疮品管圈成果汇报PPT幻灯片.ppt VIP
- 车险承保方案.pdf VIP
- 中华民族共同体概论教案合集(第一讲-第十六讲)附《中华民族共同体概论》课程大纲.doc VIP
- “中华民族共同体概论”课程教学与建设关键问题探讨.docx VIP
- 诸侯纷争与变法运动【课件】.pptx VIP
- 中国高血压防治指南(2024年修订版)_中国高血压防治指南修订委员会__.pdf VIP
- “扬子石化杯”2024年第38届中国化学奥林匹克(江苏赛区)初赛化学.pdf VIP
- 民事诉讼法中案外第三人对执行的异议之诉.pdf VIP
- “扬子石化杯”2024年第38届中国化学奥林匹克(江苏赛区)初赛化学试卷含答案.pdf VIP
文档评论(0)