前言


一、SUSAN算子是什么?

SUSAN ( Small univalue segment assimilating nucleus) 算子是一种基于灰度的特征点获取方法, 适用于图像中边缘和角点的检测, 可以去除图像中的噪声, 它具有简单、有效、抗噪声能力强、计算速度快的特点。

1.USAN(核值相似区)

对于图像中非纹理区域的任一点,在以它为中心的模板窗中存在一 块亮度与其相同的区域,这块区域即为 USAN 区域。


当一个像素点与圆模板的中心点的灰度值满足相似比较函数时,即判定属于 USAN 区域。图像不同位置处的 USAN 区域是不同的。

①.内部区域的 USAN 面 积大于圆模板的一半;

②.边缘的 USAN 区域面积等于圆模板面积的一半;

③.角点的 USAN 区域面积小于圆 模板面积的一半。


其中SUSAN 角点检测的相似比较函数为:

其函数的表达的意思:在属于圆模板中的任何一点的灰度值与圆心的灰度值的灰度差值小于等于某个常数 t ,则说明该点属于 usan 区域。其中 t 称为门限阈值。

当圆模板的每个点进行相似比较后统计即可得到 r0 为圆心的USAN面积,其数学表达式为:

n(r0) 越大,即usan区域越大,表示在圆模板内的点 与 圆心的像素值差值很小的点比较多,故可以看出其圆心的特征点属于内部区域。

反之当n(r0)越小,则表示在圆模板内的点 与 圆心的像素值差值很小的点比较少,其特征可能是边缘区域或者角点区域。


2.特征提取响应函数R(r0)

当计算完图像的每个点的 USAN 面积之后,通过响应函数R(r0)进行特征提取,其函数表达式为

其中 g 称为几何门限,它决定了输出角点的 USAN 区域的最大值。即圆模板中相似点数的最大值。

由于 n(r0)值大小在 ( 0,圆模板面积 ] , 故 几何门限 g 取值属于其之间,g的取值会影响到提取 特征信息量的大小,一般来说,提取边缘特征信息时,g的取值要大一些,而提取角点特征信息时,需要抑制边缘特征,则g的取值固然要偏小,但过小会存在角点被剔除的情况。


二、SUSAN核心算法的实现

//模版 x 和 y的坐标的偏移量int OffSetX[37] ={-3, -3, -3,-2, -2, -2, -2, -2,-1, -1, -1, -1, -1, -1, -1,0,  0,  0,  0,  0,  0,  0,1,  1,  1,  1,  1,  1,  1,2,  2,  2,  2,  2,3,  3,  3};int OffSetY[37] ={-1, 0, 1,-2, -1, 0, 1, 2,-3, -2, -1, 0, 1, 2, 3,-3, -2, -1, 0, 1, 2, 3,-3, -2, -1, 0, 1, 2, 3,-2, -1, 0, 1, 2,-1, 0, 1};//定义USAN中近似像素数量的阈值,g越小,角点挑选越苛刻,角点数量越少int t = 4;//门限阈值 即非核心点的灰度值与核心点的灰度值的灰度差值小于门限阈值才是属于USAN区域int g = 18;//几何阈值 即决定不同类型的特征点的门槛Mat grayImg_padded;//对灰度图像进行填充copyMakeBorder(grayImg, grayImg_padded, 3, 3, 3, 3, BORDER_REFLECT);int same; for (int i = 3; i < grayImg_padded.rows - 3; i++){for (int j = 3; j < grayImg_padded.cols - 3; j++){//same表示近似像素的数量same = 0;for (int k = 0; k < 37; k++){//             1 (条件:|I(r) - I(r0)| <= t)// c(r,r0) =  //              0 (条件:|I(r) - I(r0)|  > t)if (abs(grayImg_padded.at<uchar>(i + OffSetX[k], j + OffSetY[k]) - grayImg_padded.at<uchar>(i, j)) <= t)same++;// n(r0) = Σc(r,r0)}//初始角点响应函数//          g - n(r0) 条件:g > n(r0) // R(r0) = //         0         条件:g <= n(r0) if (same < g){grayImg_padded.at<uchar>(i, j) = g - same;}else{grayImg_padded.at<uchar>(i, j) = 0;}}}

总结

SUSAN角点检测算法实现(详细版)相关推荐

  1. susan角点检测算法

    SUSAN算法是1997年牛津大学的Smith等人提出的一种处理灰度图像的方法,它主要是用来计算图像中的角点特征.SUSAN算法选用圆形模板(如图1所示).将位于圆形窗口模板中心等待检测的像素点称为核 ...

  2. SUSAN角点检测算法,及其Matlab实现

    1.SUSAN角点检测算法步骤 (1)在图像上放置一个37个像素的圆形模板,模板在图像上滑动,依次比较模板内各个像素点的灰度与模板核的灰度,判断是否属于USAN区域.判别函数如下: 其中,r⃗0{{\ ...

  3. python 角点检测_python 实现Harris角点检测算法

    算法流程: 将图像转换为灰度图像 利用Sobel滤波器求出 海森矩阵 (Hessian matrix) : 将高斯滤波器分别作用于Ix².Iy².IxIy 计算每个像素的 R= det(H) - k( ...

  4. SUSAN角点检测与匹配算法代码(OpenCV)

    SUSAN角点检测与匹配算法 测试环境Ubuntu+OpenCV2.4.3 SUSAN角点检测代码 SUSAN(Small univalue segment assimilating nucleus) ...

  5. 基于光强的角点检测(SUSAN角点检测、FAST角点检测、FAST-ER角点检测)

    Corner Feature Detector(Intensity-Based) 基于光强比较的角点检测,直接比较光强(像素灰度值),而不计算梯度.所以实时性更好,所需的存储空间更小. SUSAN 角 ...

  6. 【理解】经典角点检测算法--Harris角点

    目录 什么是角点 角点检测算法的原始思想: Harris角点检测原理 Harris角点算法的基本步骤 实践: Harris角点检测可能会用到的OpenCV API: 手写API: 1.展示图片: 2. ...

  7. Susan角点检测python实现 (边缘检测、角点检测、重心计算、非极大值抑制)

    Susan角点检测(边缘检测.角点检测.重心计算.非极大值抑制) 写在前面 黄宁然--看过你看过的算法,觉得好难. 参考文献镇楼 [1]https://blog.csdn.net/tostq/arti ...

  8. 计算机视觉(二)HARRIS角点检测算法与SIFT

    文章目录 前言 一.HARRIS角点检测算法 1.什么是角点(corner points) 2.角点检测算法的基本思想 3.什么是好的角点检测算法 4.角点特征的数学刻画 5.度量角点响应 6.HAR ...

  9. 【机器视觉学习笔记】Harris 角点检测算法(C++)

    目录 原理 算法步骤 优缺点 源码 效果 原图 输出 平台:Windows 10 20H2 Visual Studio 2015 OpenCV 4.5.3 本文摘自2.Harris角点检测算法 -- ...

最新文章

  1. source insight删除保存路径为中文的project工程项目报错的解决办法
  2. javascript时间处理
  3. 使用移动设备 连接到Exchange Server 2007
  4. 03-密码学基础-数字摘要hash的介绍
  5. [云炬创业基础笔记]第二章创业者测试20
  6. ABAP webservice和log on对话框相关的实现细节调试
  7. opencv 多线程加速_线程池给你写好了,想加速拿来用就行哈
  8. 【从入门到放弃-Java】并发编程-线程安全
  9. Qt connect()的第五种重载[=](){}
  10. python后台架构Django教程——数据模型Model
  11. 关于verilog的一些基础知识整理
  12. 远程服务器虚拟显示器(Ubuntu 20.04 LTS)
  13. python实现华容道游戏(v0.4)--支持游戏自动完成功能
  14. 异地如何在北京换驾照
  15. 超万支团队报名,历时4个月,阿里云原生编程挑战赛即将决出最后赢家
  16. 【XLPNet车牌识别算法】第一章 序
  17. 深度学习在情感分类中的应用
  18. kali内开启键盘背光
  19. 量子信息matlab,matlab在量子力学中的应用.PDF
  20. CTF中MISC常见工具总结

热门文章

  1. 学习过程中部分c语言疑惑问题的代码验证
  2. 原生CANVAS语法实现的封装折线图和饼图
  3. 计算机一级调薪后的工资,义务教育教师基本工资提高10%取消!2019年调资后你的待遇是涨还是降?...
  4. 计算机公开课议课术语,评课用语大全:公开课评课缺点用语
  5. DES加密与解密代码
  6. 【推荐热门主题:魔兽世界高清桌面壁纸】
  7. 小心,你的账号密码可能在 GitHub 上裸奔!
  8. 零时科技 || BEGO Token 攻击事件分析
  9. 校内练习 华山论剑 [最短路]
  10. 实战 Vue 之实现添加和删除常用应用功能