[C#][opencvsharp]opencvsharp sift和surf特征点匹配

SIFT特征和SURF特征比较 

SIFT特征基本介绍

SIFT(Scale-Invariant Feature Transform)特征检测关键特征:

  • 建立尺度空间,寻找极值
  • 关键点定位(寻找关键点准确位置与删除弱边缘)
  • 关键点方向指定
  • 关键点描述子

建立尺度空间,寻找极值

工作原理

构建图像高斯金字塔,求取DOG,发现最大与最小值在每一级

构建的高斯金字塔,每一层根据sigma的值不同,可以分为几个待级,最少有4个。

关键点定位
  • 我们在像素级别获得了极值点的位置,但是更准确的值应该在亚像素位置,如何得到--这个过程称为关键点(准确/精确)定位。
  • 删除弱边缘--通过Hassian矩阵特征值实现,小于阈值自动舍弃。
关键点方向指定
  • 求得每一层对应图像的梯度,根据给定的窗口大小
  • 计算每个高斯权重,sigma=scale*1.5, 0-360之间建立36个直方图Bins
  • 找最高峰对应的Bin,大于max*80%的都保留
  • 这样就实现了旋转不变性,提高了匹配时候的稳定性
  • 大约有15%的关键点会有多个方向
关键点描述子
  • 拟合多项式插值寻找最大Peak
  • 得到描述子 = 4*4*8=128

SURF效果演示:

SIFT效果演示:

【测试环境】

vs2019, netframework4.7.2,opencvhsarp4.8.0

【源码下载】

https://download.csdn.net/download/FL1623863129/88800068

相关推荐

  1. LightGlue-OpenCV 实现实时相机图片特征匹配

    2024-02-02 08:58:02       62 阅读
  2. OpenCV特征匹配总结

    2024-02-02 08:58:02       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-02 08:58:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-02 08:58:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-02 08:58:02       87 阅读
  4. Python语言-面向对象

    2024-02-02 08:58:02       96 阅读

热门阅读

  1. Django 中的 connection.cursor() 执行 SQL 用法

    2024-02-02 08:58:02       39 阅读
  2. git 删除gitlab上指定的文件夹或者文件

    2024-02-02 08:58:02       46 阅读
  3. [Git版本控制系统]

    2024-02-02 08:58:02       51 阅读
  4. Oracle Months_between 用法

    2024-02-02 08:58:02       54 阅读
  5. IP 了解

    IP 了解

    2024-02-02 08:58:02      52 阅读
  6. C# 求幂算法,最大公约数,最小公倍数

    2024-02-02 08:58:02       49 阅读
  7. js寄⽣组合继承和优缺点

    2024-02-02 08:58:02       49 阅读
  8. Node.js EventEmitter详解

    2024-02-02 08:58:02       57 阅读
  9. spring boot bean的生命周期

    2024-02-02 08:58:02       40 阅读
  10. Flask 入门5 :过滤器

    2024-02-02 08:58:02       60 阅读
  11. docker-compose安装配置jenkins

    2024-02-02 08:58:02       45 阅读