基于最大相邻夹角的边缘点提取(matlab)

1、背景介绍

       边缘点是指点云数据中代表物体或场景几何形状突变的那些点。在三维点云中,边缘点通常标志着不同表面或物体的分界,或者是物体表面上的不规则性,如裂缝、棱角、突起等。点云边缘检测的作用非常重要,最常见是进行特征点检测、三维重建。如下所示,为利用探测得到的边缘点进行三维重建。

  2、边缘点提取原理

       本次介绍一种基于相邻最大夹角提取边缘点方法,其原理是根据近邻点分布规律,实现边缘点检测。如下图所示,边缘点的近邻点,均匀分布在其四周;非均匀点的近邻点,则有一侧没有近邻点,甚至其近邻点只分布在某一侧。因此基于这一特征,实现边缘提取。

      具体来说,将待判断点p与周其近邻点相连构成线段,计算相邻线段间所有夹角,选择最大夹角对此进行判断。如下图蓝色箭头所示点,边缘处最大夹角大于角度阈值\alpha。对于非边缘处点,由于近邻点都分布在判断点周边,边缘处最大夹角小于\alpha。因此,可以根据最大相邻角度,是否大于角度阈值,来实现边缘点检测。

      对于待判断点O,计算其相邻点之间夹角如下:

(1)选取某一方向作为初始方向,使用kdtree搜索得到k个近邻点,对每个近邻点根据其x与y坐标计算其相对于起始方向\underset{ON}{\rightarrow}的旋转角\alpha _{i}

(2)将上述计算获得的旋转角按照升序进行排序,相邻点之间的夹角\delta可按照下式计算得到:

(3)选择最大的夹角δ最为点O的最大夹角,并依据δ与阈值\delta _{0}进行比较,判断其是否为边缘点。若大于\delta _{0},则判断该点为边缘点;否则,判断其为非边缘点。

注意:仅仅依据上述原理,只能实现近似水平平面点云边缘提取,若要提取三维边缘点,则需要将三维点投影在微切面,过程较为复杂,具体可参考博客:基于微切面的最大夹角约束的边缘点提取_仰望星空_LiDAR的博客-CSDN博客

3、代码测试与结果

      基于matlab语言编写的代码,实现点云边缘提取,其中利用matlab中自带的kdtree搜索近邻点,提高算法效率。

源代码下载链接:https://download.csdn.net/download/qq_32867925/89512495

具体包括如下:

3.1 数据一测试

     该点云数据形状为三角形,近邻点设置为20,夹角阈值设置成90,提取结果如下所示。可以发现,提取的边缘点效果比较理想,边缘点位于整个点云边界处,效果理想,证明本程序的准确。

原始点云边缘点边缘点与非边缘点

3.2 数据一测试

      该测试数据为一带有孔洞的点云数据,仍将近邻点设置为20,夹角阈值设置成90,提取结果如下所示。可以发现,提取的边缘点效果比较理想,边缘点位于整个点云边界处,效果理想,证明本程序的准确。

原始点云边缘点边缘点与非边缘点

4、总结

      介绍了一种基于最大相邻夹角的边缘点提取方法,并利用matlab将其实现,测试结果比较理想。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/42801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php校园二手交易网站-计算机毕业设计源码041148

目 录 摘要 1 绪论 1.1 研究背景 1.2国内外研究现状 1.3论文结构与章节安排 2 校园二手交易网站系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结…

基于AOP的数据字典实现:实现前端下拉框的可配置更新

作者:后端小肥肠 创作不易,未经允许严禁转载。 目录 1. 前言 2. 数据字典 2.1. 数据字典简介 2.2. 数据字典如何管理各模块的下拉框 3. 数据字典核心内容解读 3.1. 表结构 3.2. 核心代码 3.2.1. 根据实体类名称获取下属数据字典 3.2.2. 数据字…

回顾 DTC 2024 大会——聚焦数据技术创新:揭秘下一代纯实时搜索引擎 INFINI Pizza

2024 年 4 月 12 日至 13 日,备受瞩目的第十三届“数据技术嘉年华”(DTC2024)在北京新云南皇冠假日酒店盛大开幕。本次大会由中国 DBA 联盟(ACDU)与墨天轮社区联合主办,以“智能云原生一体化——DB 与 AI 协…

在先企业字号被申请注册成商标!

今天一网友联系普推商标知产老杨,说自己注册的商标被某公司无效宣告了,去年联系老杨时,当时就给说这个商标名称存在风险,与别人的字号权存在高度近似,而且是同行业同地区在后面注册的。 十几年前某公司先成功注册成字号…

Ubuntu 安装CGAL

一、什么是CGAL CGAL(Computational Geometry Algorithms Library)是一个广泛使用的开源库,主要用于计算几何算法的实现。该库提供了一系列高效、可靠和易于使用的几何算法和数据结构,适用于各种应用领域。以下是 CGAL 的主要功能…

JD-GUI下载和使用

JD-GUI是专门查看jar包的,包括source.jar和doc.jar。JD-GUI可以把.class文件反编译为可编辑的.java文件,有图形化界面。 github下载地址:https://github.com/java-decompiler/jd-gui/releases 下载windows版本的zip包,如下图&…

智能化代码审查系统设计

设计一个智能化代码审查系统,特别是针对Java开发,需要综合考虑多个维度来提升代码质量、提高审查效率,并促进团队间的协作。以下是该系统设计的关键要素和功能特性: 系统架构 客户端-服务器架构:前端提供友好的Web界面…

破局 AI 2.0 时代:利用 AI 提升自我核心竞争力

文章目录 破局 AI 2.0 时代:利用 AI 提升自我核心竞争力1. AI 2.0 时代1.1 特点1.2 发展1.3 影响 2. AI 2.0 时代的机遇 & 挑战2.1 AI 对行业市场的冲击2.2 挑战变为机遇2.3 不同场景下的 AI 效能提升2.3.1 自动化办公任务2.3.2 提升学习效率2.3.3 创意生成与内…

LabVIEW光谱测试系统

在现代光通信系统中,光谱分析是不可或缺的工具。开发了一种基于LabVIEW的高分辨率光谱测试系统,通过对可调谐激光器、可编程光滤波器和数据采集系统的控制,实现了高效、高精度的光谱测量。 项目背景 随着光通信技术的迅速发展,对…

仿哔哩哔哩视频app小程序模板源码

仿哔哩哔哩视频app小程序模板源码 粉色的哔哩哔哩手机视频网页,多媒体视频类微信小程序ui前端模板下载。包含:视频主页和播放详情页。 仿哔哩哔哩视频app小程序模板源码

thinkphp6/8 验证码

html和后台验证代码按官方来操作 ThinkPHP官方手册 注意: 如果验证一直失败,看看Session是否开启, 打印dump(session_status());结果2为正确的, PHP_SESSION_DISABLED: Session功能被禁用(返回值为0)。…

科普文:一文搞懂jvm实战(四)深入理解逃逸分析Escape Analysis

概叙 Java 中的对象是否都分配在堆内存中? 好了太抽象了,那具体一点,看看下面这个对象是在哪里分配内存? public void test() { Object object new Object(); }这个方法中的object对象,是在堆中分配内存么&#xff1…

【C语言】C语言编译链接和Win32API简单介绍

目录 翻译环境和运行环境翻译环境编译器预处理(预编译)编译链接 执行环境 Win32API是什么控制台程序控制台获取坐标COORDGetStdHandle函数GetConsoleCursorinfo函数CONSOLE_CURSOR_INFOSetConsoleCursorInfo函数SetConsoleCursorPostion函数GetAsyncKeyS…

Qt(MSVC)下报“语法错误缺少“}““语法错误缺少“常数“ 的解决办法

1.现象 目前我在工程中试图使用QHttpServer时,一编译,就报了一堆奇奇怪怪的错误: D:\Qt\httpServer\Qt5.15.2\include\QtHttpServer\qhttpserverrequest.h:75: error: C2143: 语法错误: 缺少“}”(在“(”的前面) D:\Qt\httpServer\Qt5.15.…

栈和队列---循环队列

1.循环队列的出现 (1)上面的这个就是一个普通的数据的入队和出队的过程我们正常情况下去实现这个入队和出队的过程,就是这个数据从这个队尾进入,从队头离开,但是这个加入的时候肯定是没有其他的问题的,直接…

【分布式技术】——监控平台zabbix 介绍与部署

一、监控系统的相关知识 1.监控系统运用的原因 当我们需要实时关注与其相关的各项指标是否正常,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,zabix可以实现集中监控管理的应用程序 监控的初衷…

ARM汇编与机器码、汇编指令

文章目录 1. CISC与RISC指令集 2. ARM汇编指令 3. 汇编与机器码 4. 汇编指令格式 5. MOV指令 6. BL指令 7. B指令 8. ADD/SUB指令 9. LDR/STR指令 1. CISC与RISC指令集 根据指令的复杂度,所有CPU可以分为两类: CISC(Complex Instr…

C#——多态详情

多态 多态: 是同一个行为,具有多个不同表现形式或形态的能力 多态分为两种 : 静态性多态: 函数重载,符号重载动态性多态: 虚方法,抽象类,接口 静态多态 在编译时,函数和对象的连接机制被称为早期绑定,…

知识图谱的符号表示

1、基于图的表示建模 2、有效标记图 3、属性图表示方法的优点和去点 4、RDF是什么?表达是有限的 5、OWL,本体语言 6、OWL有很多家族 7、属性图、RDF\三元组、关系图 ---------------------------PPT---------------------

已解决 javax.xml.transform.TransformerFactoryConfigurationError 异常的正确解决方法,亲测有效!!!

已解决 javax.xml.transform.TransformerFactoryConfigurationError 异常的正确解决方法,亲测有效!!! 目录 一、问题分析 二、报错原因 三、解决思路 四、解决方法 五、总结 博主v:XiaoMing_Java 博主v&#x…