欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > 基于最大相邻夹角的边缘点提取(matlab)

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

2025/6/12 15:21:04 来源:https://blog.csdn.net/qq_32867925/article/details/148482496  浏览:    关键词:基于最大相邻夹角的边缘点提取(matlab)

1、边缘点提取原理

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

        具体来说,将待判断点p,该点与周其近邻点相连构成向量,计算相邻向量间所有夹角,选择最大夹角对此进行判断。如下图蓝色的非边缘点,其最大夹角(alpha0)比较小。而对于其他边缘点,则其中有个最大相邻夹角,如alpha1、alpha2等,明显偏大。因此,设置角度阈值,如120°。若大于该阈值,则识别为边缘点;小于阈值则为非边缘点。

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

3、小结

   介绍一种基于近邻点分布的边缘点提取方法,并给出详细原理介绍。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词