角点检测和匹配之Harris与FAST角点检测

本文详细介绍了计算机视觉中的角点检测,包括Harris角点检测的原理与OpenCV中的`cornerHarris`、`goodFeaturesToTrack`函数应用,以及FAST角点检测的快速检测方法,并提供了相关示例。
摘要由CSDN通过智能技术生成

这一章主要内容:

       1. Harris角点检测

       2. FAST特征检测

      3. 尺度不变的SURF特征检测

      4.SURF检测描述

一、引言

        在计算机视觉中,特征点或称兴趣点,角点(即图像的极值点,线段的终点,曲线曲率最大的点或水平、竖直方向上属性最大的点等等)被广泛应用。这些特征点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。特征点在保留图像图形重要特征的同时,可以代替整幅图像的处理,有效地减少信息的数据量,使其信息的含量很高,有效地提高了计算的速度,有利于图像的可靠匹配,使得实时处理成为可能。

       特征点检测就是是对有具体定义的、或者是能够具体检测出来的特征点的检测。目前检测方法很多,具体分有三大类基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测。基于灰度图像的角点检测又可分为基于梯度、基于模板和基于模板梯度组合3类方法,其中基于模板的方法主要考虑像素领域点的灰度变化,即图像亮度的变化,将与邻点亮度对比足够大的点定义为角点。常见的基于模板的角点检测算法有Kitchen-Rosenfeld角点检测算法,Harris角点检测算法、KLT角点检测算法及SUSAN角点检测算法。和其他角点检测算法相比,SUSAN角点检测算法具有算法简单、位置准确、抗噪声能力强等特点。

        特征点的应用也很广泛,去解决一些重要的图像问题,如目标识别,图像匹配,视觉跟踪,3D重建等等。

二、Harris角点检测

       角点是图像局部特征,很方便的在图像中定位(甚至是半像素精确定位),而且经常出现在人造的物体(如墙,门,窗户,桌子等等)中,所以应用广泛。

       Harris角点检测是最经典的检测方法,基本原理就是,角点的水平和竖直方向梯度都比较大(经过数学推导,两个特征值即代表水平和垂直方向的强度),边缘点是水平或竖直梯度有一个比较大,平坦点是水平和竖直梯度都比较小。因此主要是计算方向梯度,然后根据特定门限判断是否是最大,确定角点。

       opencv中提供两个Harris角点检测的函数,

       2.1 cornerHarris

       第一个比较简单,直接调用即可

       函数头文件:       

#include <opencv2/imgproc/imgproc.hpp>
       函数定义:

//! computes Harris cornerness criteria at each image pixel
CV_EXPORTS_W void cornerHarris( InputArray src, OutputArray dst, int blockSize,
                                int ksize, double k,
                                int borderType=BORDER_DEFAULT );
     函数参数说明:

     blockSize:角点是两个边缘的连接点,因此在局部范围内,角点是所有方向上梯度最大的点,blockSize就是设置局部检测窗口大小

           计算个方向变化的公式:

     ksize:在计算个方向变化强度的时候使用了Sobel求其导数,该参数就是设置Sobel滤波器参数。

           R计算可以近似为:

     k: 两个特征值都不大于门限时,该点是普通点;当只有一个特征值大于门限时,是边缘点;当两个特征值都大于门限时,是角点。由于同时判

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
问题: HARRIS角点检测算法用于什么应用领域? 回答: HARRIS角点检测算法主要用于目标匹配、目标跟踪和三维重建等应用领域。角点是常见的点特征,具有旋转不变性、光照不变性和视角不变性等特点,适用于在这些应用中使用。常见的点特征提取算法包括Harris角点检测算法FAST特征检测算法、SIFT特征检测算法和SURF特征检测算法等,其中Harris算法是其中一种常用的角点检测算法HARRIS角点检测算法对亮度和对比度的变化不敏感,并具有旋转不变性,但不具有尺度不变性。它使用角点附近的区域灰度二阶矩矩阵进行计算,可以通过特征椭圆的变化来判断角点响应值的变化,从而实现角点的检测。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【CV】Harris角点检测算法-点特征提取](https://blog.csdn.net/bhdnjngjmfgjm/article/details/106918418)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Harris角点检测算法详解](https://blog.csdn.net/woxincd/article/details/60754658)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值