python图像特征提取与匹配_OpenCV+Python特征提取算法与图像描述符之SIFT / SURF / ORB...

本文介绍了OpenCV中几种常用的图像特征检测与提取算法,包括Harris、SIFT、SURF、FAST、BRIEF、ORB,并对比了它们在计算速度、旋转鲁棒性和尺度变换鲁棒性等方面的表现。SIFT、SURF和ORB是重点,SIFT提供尺度不变和旋转不变的关键点,而ORB是SIFT和FAST的结合,具备更好的计算效率。文章还探讨了特征匹配方法、特征描述子的概念,并详细解析了SIFT、SURF和ORB的算法原理和实现步骤。
摘要由CSDN通过智能技术生成

有许多用于特征检测和提取的算法,我们将会对其中大部分进行介绍。OpenCV最常使用的特征检测和提取算法有:

Harris:该算法用于检测角点;

SIFT:该算法用于检测斑点;

SURF:该算法用于检测角点;

FAST:该算法用于检测角点;

BRIEF:该算法用于检测斑点;

ORB:该算法代表带方向的FAST算法与具有旋转不变性的BRIEF算法;

通过以下方法进行特征匹配:

暴力(Brute-Force)匹配法;

基于FLANN匹配法;

可以采用单应性进行空间验证。

特征提取算法比较

计算速度: ORB>>SURF>>SIFT(各差一个量级)

旋转鲁棒性: SURF>ORB~SIFT(表示差不多)

模糊鲁棒性: SURF>ORB~SIFT

尺度变换鲁棒性: SURF>SIFT>ORB(ORB并不具备尺度变换性)

基本概念

特征向量

用于表示和量化图像的数字列表,简单理解成将图片转化为一个数字列表表示。特征向量中用来描述图片的各种属性的向量称为特征矢量。

特征描述符(特征描述子)Descriptor

参考

是一种算法和方法,输入1个图像,返回多个特征向量(主要用来处理图像的局部,往往会把多个特征向量组成一个一维的向量)。主要用于图像匹配(视觉检测),匹配图像中的物品。

SIFT特征算法与DoG尺度空间

SIFT论文

原理

opencv官网解释

实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。

SIFT

尺度不变特征转换(Scale-invariant feature transform或SIFT)是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。

其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。

尺度空间

对现实中物体的描述一定要在一个十分重要的前提下进行,这个前提就是对自然界建模时的尺度。当用一个机器视觉系统分析未知场景时,计算机没有办法预先知道图像中物体的尺度,因此我们需要同时考虑图像在多尺度下的描述,获知感兴趣物体的最佳尺度。图像的尺度空间表达指的是图像的所有尺度下的描述。

DoG尺度空间

DoG空间极值点

特征点方向归一化

计算特征点描述

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值