当前位置: 首页 > ds >正文

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

1、边缘点提取原理

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

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

2、代码测试与说明

        基于MATLAB GUI编写的程序,下载链接:https://download.csdn.net/download/qq_32867925/90961393

包括MaxAngleExtractionGUI.fig与MaxAngleExtractionGUI.m文件,分别为GUI界面与执行代码。

      直接双击MaxAngleExtractionGUI.m,点击运行按钮即可运行程序,如下图所示。

      运行界面如下图所示,其可以灵活设置近邻点数量、角度阈值,实现边缘点精细化提取。该功能包括点云数据加载打开(txt、xyz格式)、点云边缘提取及结果展示、清屏处理。同时还可以统计耗时情况。

2.1 不同近邻点数影响

      knn控制近邻点数量,如下图展示了不同knn数量对结果的影响。整体上来看,knn设置适中时,提取结果比较好。knn设置过小,结果不理想。

knn=10 angle=120knn=15 angle=120
knn=20 angle=120knn=30 angle=120

2.2 角度阈值影响

在knn保持不变的情况下,调整角度阈值,可以发现提取的精细化程度不同。

knn=20 angle=30knn=20 angle=60
knn=20 angle=90knn=20 angle=120

http://www.xdnf.cn/news/12593.html

相关文章:

  • 华为大规模——重塑生产力
  • 软信天成:数据驱动型背后的人工智能,基于机器学习的数据管理
  • FPGA定点和浮点数学运算-实例对比
  • opencv2/opencv.hpp里面有哪些常用的函数
  • 从混乱到秩序:探索管理系统如何彻底改变工作流程
  • Spring 团队详解:AOT 缓存实践、JSpecify 空指针安全与支持策略升级
  • Python 构建法律DeepSeek RAG
  • 35.成功解决编写关于“江协科技”编写技巧第二期标志位积累的问题
  • PostgreSQL 的扩展pg_freespacemap
  • Webhook 配置备忘
  • Imprompter: Tricking LLM Agents into Improper Tool Use
  • VUE解决页面请求接口大规模并发的问题(请求队列)
  • 通过跳板机连接远程主机
  • 【佳易王个体诊所电子处方软件】助力智慧诊疗! #医疗数字化 #电子处方效率提升
  • MySQL体系架构解析(三):MySQL数据存储的揭秘
  • 从0到1写一个适用于Node.js的User Agent生成库
  • 矩阵和向量范数的区别分析
  • GAN模式奔溃的探讨论文综述(一)
  • SQL进阶之旅 Day 17:大数据量查询优化策略
  • C++.OpenGL (9/64)复习(Review)
  • 【论文阅读笔记】万花筒:用于异构多智能体强化学习的可学习掩码
  • vb监测Excel两个单元格变化,达到阈值响铃
  • 【Linux跬步积累】—— 网络编程套接字(二)
  • 精益数据分析(94/126):30/10/10用户参与法则与定价策略的科学制定
  • Linux(Centos 7.6)命令详解:sed
  • react public/index.html文件使用env里面的变量
  • gitee 拉取失败
  • javascript中Cookie、BOM、DOM的使用
  • JS设计模式(4):观察者模式
  • java 局域网 rtsp 取流 WebSocket 推送到前端显示 低延迟