主要内容

extractFeatures

提取兴趣点描述符

描述

例子

特性validPoints= extractFeatures(返回从二值图像或强度图像中提取的特征向量(也称为描述符)及其对应的位置。

该函数从围绕兴趣点的像素中派生描述符。像素表示并匹配由单点位置指定的特征。每个单点指定一个社区的中心位置。用于描述符提取的方法取决于输入的类

例子

特性validPoints= extractFeatures(名称=值使用一个或多个名称-值参数以及以前语法中的参数组合指定选项。例如,extractFeatures(我点方法=“块”)将提取描述符的方法设置为

例子

全部折叠

阅读图片。

I = imread(“cameraman.tif”);

从图像中找到并提取角落特征。

角= detectHarrisFeatures(I);[features,valid_corners] = extractFeatures(I,corners);

显示图像。

图;imshow(我);持有

绘制有效的角点。

情节(valid_corners);

图中包含一个轴对象。axis对象包含image、line类型的2个对象。

读取图像。

I = imread(“cameraman.tif”);

从输入图像中查找并提取特征。

点= detectsurffatures (I);[features,valid_points] = extractFeatures(I,points);

显示和绘图十大最强SURF功能。

图;imshow(我);持有;情节(valid_points.selectStrongest (10), showOrientation = true);

图中包含一个轴对象。axis对象包含image、line类型的3个对象。

读取图像。

I = imread(“cameraman.tif”);

使用MSER特征检测在图像中查找特征。

regions = detectMSERFeatures(I);[features,valid_points] = extractFeatures(I,regions,直立=true);

显示与MSER椭圆中心对应的特征。

图;imshow(我);持有;情节(valid_points showOrientation = true);

图中包含一个轴对象。axis对象包含image、line类型的3个对象。

输入参数

全部折叠

输入图像,指定为二值或二维灰度图像。

数据类型:逻辑|||int16|uint8|uint16

一个方形街区的中心位置点,指定为的-by-2矩阵[数目]x y中描述的点特征对象之一点特征类型.该表列出了可用于提取的点的可能输入类别。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:extractFeatures(我点方法=“块”)将提取描述符的方法设置为

描述符提取方法,指定为中描述的点特征对象之一点特征类型“汽车”

下表描述了该函数如何实现描述符提取方法:

方法 特征向量(描述符)
筛选

尺度不变特征变换(SIFT)。

函数设置取向的属性validPoints输出对象到提取的特征的方向,以弧度为单位。

轻快的

二进制健壮不变可扩展关键点(BRISK)。

函数设置取向的属性validPoints输出对象到提取的特征的方向,以弧度为单位。

Fast Retina Keypoint (FREAK)。

函数设置取向的属性validPoints输出对象到提取的特征的方向,以弧度为单位。

冲浪

加速健壮特性(SURF)。

函数设置取向的属性validPoints输出对象到提取的特征的方向,以弧度为单位。

当你使用MSERRegions对象的冲浪方法,重心对象的属性提取SURF描述符。的对象的属性选择SURF描述符的比例,这样表示特征的圆的面积与MSER椭圆面积成比例。比例尺计算为1/4 *√(majorAxes / 2) * (minorAxes / 2))。饱和到1.6的规定SURFPoints对象。

ORB

定向快速和旋转简要(ORB)功能。

取向的属性validPoints对象自动设置为取向输入的属性ORBPoints对象

KAZE

基于非线性金字塔的特征。

函数设置取向的属性validPoints输出对象到提取的特征的方向,以弧度为单位。

当你使用MSERRegions对象的KAZE方法,位置对象的属性用于提取KAZE描述符。

对象的属性选择KAZE描述符的比例,这样表示特征的圆的面积与MSER椭圆面积成比例。

简单的方形社区。

方法仅提取完全包含在图像边界内的邻域。因此,输出,validPoints,可以包含比输入更少的点

汽车

函数选择方法,基于输入点的类和实现:

方法cornerPoints输入对象。
冲浪方法SURFPointsMSERRegions输入对象。
轻快的方法BRISKPoints输入对象。
ORB方法ORBPoints输入对象。

对于一个[的-by-2输入矩阵xy,该函数实现了方法。

请注意

描述符提取方法必须是ORB,如果输入是一个ORBPoints对象。同时,ORB描述符提取方法不支持任何其他类型的点,除了金宝appORBPoints

块大小,指定为奇数整数标量。这个值定义了本地方形邻域BlockSize——- - - - - -BlockSize,以每个兴趣点为中心。方法时,此选项仅适用于方法。

旋转不变性标志,指定一个逻辑标量。当您将此属性设置为真正的时,不估计特征向量的方向,将特征方向设为pi/2。将其设置为真正的当您不需要图像描述符来捕获旋转信息时。当您将此属性设置为,估计特征的方向,然后使特征对旋转不变性。

请注意

旋转不变性标志“正直”如果输入金宝app是一个ORBPoints对象。

特征向量(描述符)的长度,指定为64128.方法时,此选项仅适用于冲浪KAZE方法。的较大特征尺寸128提供了更高的精度,但降低了特征匹配速度。

输出参数

全部折叠

特征向量,返回为abinaryFeatures对象或——- - - - - -N矩阵的特征向量,也称为描述符。每个描述符都有长度N

中与每个输出特征向量(描述符)相关联的有效点特性,以与输入相同的格式返回。有效点可以是a或an[x,y]坐标的-by-2矩阵或中所述的点特征对象之一点特征类型

该函数从每个兴趣点周围的区域提取描述符。如果区域位于图像之外,或者兴趣点过于接近图像边缘,则该函数无法计算特征描述符。在这种情况下,函数忽略了这个点。该点不包含在有效点输出中。

筛选特征,可以在单个位置提取多个描述符,但方向不同。因此,数分返回validPoints可以大于或等于输入点的个数吗extractFeatures.对于输入特征点以外的筛选validPoints可以小于或等于输入点的数目。

参考文献

G.布拉德斯基和A.凯勒,学习OpenCV:使用OpenCV库的计算机视觉,奥莱利,塞瓦斯托波尔,加利福尼亚州,2008年。

Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool,SURF:加速健壮特性”,计算机视觉和图像理解(CVIU)《中国科学》,Vol. 110 No. 3, pp. 346—359,2008

[3] Bay, Herbert, Andreas Ess, Tinne Tuytelaars和Luc Van Gool,“SURF:加速健壮的功能”,计算机视觉与图像理解(CVIU)《中国科学》,Vol. 110 No. 3, pp. 346—359,2008。

[4] Alahi, Alexandre, Ortiz, Raphael和Pierre Vandergheynst,“FREAK: Fast Retina Keypoint”,IEEE计算机视觉与模式识别会议, 2012年。

[5]阿尔坎塔里拉,p.f., A.巴托利和A. j .戴维森。“KAZE功能”,ECCV 2012, Part VI, LNCS 7577第214页,2012年

扩展功能

版本历史

在R2011a中引入