0
点赞
收藏
分享

微信扫一扫

基于全局和局部曲率特性的角点检测器

心如止水_c736 2022-02-13 阅读 107

文章目录

基于全局和局部曲率特性的角点检测器

基本步骤

  1. 使用 Canny 边缘检测算子检测图像的边缘,提取二值图的轮廓点;
  2. 计算轮廓点的曲率,并将局部的曲率极大值点作为角点的候选点;
  3. 移除圆角:对每个候选点,根据其ROS计算出一个自适应的阈值,舍去小于阈值的候选点;
  4. 移除错角:计算每个候选点的角度,舍去太大的候选点,重复多次直至候选点序列不在变化;
  5. 考虑轮廓的端点(这里提取的轮廓是一个曲线,只有2个端点),对于开轮廓(2个端点不相邻,若相邻称为闭轮廓)默认两个端点均是角点(除非端点靠近另外一个角点)。

运行结果

使用 python 实现基于曲率的角点检测器,代码详见 CornerDetectorBasedOnCurvature: 基于曲率特性的角点检测算法实现 (gitee.com)。运行结果如下所示,从左往右分别为原始图像、边缘二值图、提取的轮廓图(用不同颜色标记不同轮廓)和检测出的角点图。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考

  • Corner detector based on global and local curvature properties
  • https://ww2.mathworks.cn/matlabcentral/fileexchange/7652-a-corner-detector-based-on-global-and-local-curvature-properties
举报

相关推荐

0 条评论