一.特征检测(提取)

基于特征的图像配准方法是图像配准中最常见的方法之一。它不是直接利用图像像素值,二十通过像素值导出的符号特征(如特征点、特征线、特征区域)来实现图像配准,因此可以克服利用灰度信息进行图像配准的缺点,主要体现在以下三个方面:(1)利用特征点而不是图像灰度信息,大大减少了在匹配过程中的计算量;(2)特征点的匹配度量值相对位置变化比较敏感,可以提高匹配的精度;(3)特征点的提取过程可以减少噪声的影响,对灰度变化、图像形变以及遮挡等都有较好的适应能力。

一类重要的点特征:角点(corner points),其定义主要有以下:

  1. 局部窗口沿各方向移动,灰度均产生明显变化的点
  2. 图像局部曲率突变的点
  3. 典型的角点检测算法:Harris角点检测、CSS角点检测
  4. Harris角点检测基本思想
    从图像局部的小窗口观察图像特征,角点定义:窗口向任意方向的移动都导致图像灰度的明显变化(如下图)

Harris检测:数学表达

将图像窗口平移[u,v]产生灰度变化E(u,v)

由泰勒展开,得:

利用角点响应函数:

判断特征点是否为角点的依据:R只与M值有关,R为大数值正数时特征点为角点,R为大数值负数时为边缘,R为小数值时为平坦区,如下图:

寻找R位于一定阈值之上的局部最大值,去除伪角点。

Harris角点检测流程:
1.通过高斯函数的导数对原始图像进行卷积计算;图像在水平方向和垂直方向的导数Ix和Iy;
2.计算对应这些梯度外积即(Ix2 、Iy2、IxIy)三个图像如下图:
4.使用高斯函数对以上图像进行卷积滤波;
3.使用前面的公式计算角点响应函数R值;
5.对计算到的角点图像进行局部极大值抑制。

 

二、特征描述

在检测到特征(关键点)之后,我们必须匹配它们,也就是说,我们必须确定哪些特征来自于不同图像中的对应位置。物体识别的核心问题是将同一目标在不同时间、不同分辨率、不同光照、不同位姿情况下所成的图像相匹配。而为了进行匹配,我们首先要合理的表示图像。

SIFT(Scale invariant feature transform)特征通过计算检测到的关键点周围16x16窗口内每一个像素的梯度得到。在这里我只是简单的实现类似于SIFT特征描述子的特征描述方法,即我通过每4x4的四分之一象限,通过将加权梯度值加到直方图八个方向区间中的一个,计算出一个梯度方向直方图,因此在每一个特征点都会形成一个128维的非负值形成了一个原始版本的SIFT描述子向量如下图,并且将其归一化以减少对比度和增益的影响,最后为了使描述子对其他各种光度变化鲁棒,再将这些值以0.2截尾,然后再归一化到单位长度。

 

三、特征匹配

一旦我们从两幅或者多幅图像中提取到特征及其描述子后,下一步就是要在这些图像之间建立一些初始特征之间的匹配。
匹配策略一:对前面提取到的两幅图像的128维特征描述子向量做欧式距离度量,最简单的一个策略就是先设定一个阈值(最大距离),然后返回在这个阈值范围之内的另外一个图像中的所有匹配。
匹配策略二:做最近邻匹配,即比较最近邻距离和次近邻距离的比值,即最近邻比率(NNDR)。

匹配策略一的缺点是,如果阈值设得太高,就会产生误报,也就是说会出现不正确的匹配。如果阈值设得太低,就会产生很多“漏报”,也就是说,很多正确的匹配被丢失。

固定阈值,最近邻和最近邻比率匹配。在固定阈值(虚线圆)下,描述子DA未能与DB匹配,DD错误地与DC和DE匹配。如果我们选择最近邻,DA和DE匹配。使用最近邻比率(NNDR),小的NNDR(d1/d2)正确地将DA和DB匹配,大的NNDR(d1'/d2')正确地拒绝DD与DC、DE的匹配。

代码如下:

https://download.csdn.net/download/pbymw8iwm/10659247

Harris的角点检测和特征匹配相关推荐

  1. 学习笔记 2.1 — Harris角点检测与特征匹配【含实例】

    一. 图像特征匹配 最近刚入门了计算机视觉这门课程,觉得非常有意思,想象一下如果你能够自己做出一款全景拍照的软件,真实地令人激动,当然这全景图像其中的原理就是图像的特征匹配,把不同的图片通过相同的局部 ...

  2. harris角点检测与ncc匹配

    转自:http://zixuanjinan.blog.163.com/blog/static/11543032620097510122831/ file1:---------------------- ...

  3. Harris角点检测+sift描述匹配

    最近用到:Harris检测图像中边缘处的特征点,并且需要两张图特征点匹配起来.Harris只是一个角点检测的算法,最终只得到特征点坐标,想要匹配需要描述,而Harris是单尺度的,自己写描述函数又有些 ...

  4. OpenCV特征检测,角检测,特征点检测,特征匹配,对象查找

    特征检测 图像的特征是指图像中具有独特性和易于识别性的区域,角.边缘等都属于有意义的特征. 8.1角检测 角是两条边的交点,也可称为角点或拐角,它是图像中各个方向上强度变化最大的区域. OpenCV的 ...

  5. Harris角点检测和Shi-Tomasi角点检测

    文章目录 什么是角点? Harris角点的基本思想 Harris角点特征的数学表达 Harris角点的性质 Harris算法具体步骤 Tshi-Tomasi角点检测和Harris的区别 什么是角点? ...

  6. Opencv中的“暴力”特征匹配和FLANN特征匹配(python实现)

    文章目录 1.ORB关键点检测,SURF关键点检测,SIFT关键点检测,Shi-Tomasi角点检测,Harris角点检测 2.特征匹配的方法 3.暴力特征匹配 4.特征匹配步骤 (1)创建匹配器 ( ...

  7. OpenCV之feature2d 模块. 2D特征框架(1)Harris 角点检测子 Shi-Tomasi角点检测子 定制化创建角点检测子 亚像素级的角点检测 特征点检测

    Harris 角点检测子 目标 本教程中我们将涉及: 有哪些特征?它们有什么用? 使用函数 cornerHarris 通过 Harris-Stephens方法检测角点. 理论 有哪些特征? 在计算机视 ...

  8. 【Opencv】基于Opencv和PCV两种方法的Harris 角点检测与匹配

    [Opencv]基于Opencv和PCV两种方法的Harris 角点检测与匹配[附代码] 理解Harris角点检测 代码:Harris角点检测 1.[opencv版]Harris角点检测 2.[PCV ...

  9. Harris角点特征提取和角点特征匹配(2)

    Harris角点特征提取和特征匹配(后半部分) 前半部分点击以下链接: https://blog.csdn.net/QWER306306/article/details/123510826 本文采用H ...

最新文章

  1. jquery-- json字符串没有自动包装为 json对象
  2. Spring Cloud构建微服务架构:分布式服务跟踪(收集原理)【Dalston版】
  3. 如何将一键还原精灵备份文件复制出来?
  4. java中datetime类型转换,Java中日期格式和其他类型转换详解
  5. Ubuntu安装aira2及开机启动配置
  6. 快速傅里叶变换 python_Python实现快速傅里叶变换的方法(FFT)
  7. Tomcat - Springboot启动的时候初始化的线程池默认配置
  8. ECNU 3263 丽娃河的狼人传说(差分约束)
  9. ROS的学习(十八)使用rosserial创建一个publisher
  10. 基于SIFT特征提取的图像拼接算法matlab仿真
  11. kali msfconsole命令详解以及靶机攻破实战
  12. PHPCMS 前台模板集合
  13. 灵感来了挡也挡不住,基于Redis解决业务场景中延迟队列
  14. 微信建群怎么建?2个方法,快速学会!
  15. 打印机连接与计算机的,操作方法:教您如何将打印机与计算机连接
  16. 物联网云平台将成为产业生态的核心
  17. 十五章、KPI(千峰网络安全300课时笔记)
  18. 腾讯会议看不到别人的共享屏幕,共享屏幕是黑色解决方法
  19. 段码液晶显示屏液交期有多长?
  20. 数据洪流来袭,企业转型势不可挡,如何四两拨千斤?

热门文章

  1. asterisk 支持 VP8 video编码 实现安卓的视频通话
  2. Java多进程测试用例_Pytest xdist/Pytest并行多进程执行测试用例,pytestxdistpytestparallel...
  3. 单选按钮_PerlTk教程之按钮Button、复选按钮Checkbutton、单选按钮Radiobutton(附完整代码)...
  4. 【转】DCMTK开源库的学习笔记4:利用ini配置文件对dcm影像进行归档
  5. 【转】C# DataTable使用方法详解
  6. 第十二节:WebApi自动生成在线Api文档的两种方式
  7. 一步步编写操作系统 45 linux的elf可执行文件中的段和节
  8. 云原生的本质_CloudNative
  9. 爬取网易云音乐歌曲特色榜单信息
  10. Hexo博客:您备案的网站未指向阿里云国内节点(不含香港)服务器,备案号可能被取消接入