主要内容

extractFeatures

提取兴趣点描述符

描述

例子

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

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

例子

(特性validPoints= extractFeatures(名称,值使用一个或多个指定的其他选项名称,值对参数。

例子

全部折叠

阅读图片。

I = imread(“cameraman.tif”);

查找并提取拐角特征。

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

显示图像。

图;imshow(我);持有

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

绘制有效的角点。

情节(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”,真正的);

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

读取图像。

I = imread(“cameraman.tif”);

使用带有SURF特征描述符的MSER查找特征。

regions = detectMSERFeatures(I);[features, valid_points] = extractFeatures(I,regions,“正直”,真正的);

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

图;imshow(我);持有;情节(valid_points“showOrientation”,真正的);

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

输入参数

全部折叠

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

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

一个方形社区的中心位置点,指定为SIFTPointsBRISKPointsSURFPointsKAZEPointsMSERRegionscornerPoints,或ORBPoints对象,或的-by-2矩阵[x y]坐标的个数。该表列出了可用于提取的点的可能输入类别。

点的类别
SIFTPoints 尺度不变特征变换(SIFT)
BRISKPoints 二进制鲁棒不变可扩展关键点(BRISK)
SURFPoints对象 加速健壮特性(SURF)
MSERRegions对象 最大稳定极值区域(MSER)
cornerPoints 特征从加速段测试(FAST),最小特征值,或哈里斯
KAZEPoints 基于金字塔的非线性图像旋转和方向不变性特征。类似于SURF,但包含较少的噪声点。
ORBPoints 定向快速和旋转简要(ORB)功能。
[xy]坐标的-by-2矩阵 简单的方形邻域围绕[x y]点位置

名称-值参数

的可选逗号分隔对名称,值参数。名字参数名称和价值对应的值。名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“方法”“块”指定了描述符提取的方法。

描述符提取方法,指定为“筛选”“怪胎”“冲浪”“球”“块”,或“汽车”

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

方法 特征向量(描述符)
筛选 尺度不变特征变换(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对象。

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

输出参数

全部折叠

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

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

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

参考文献

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中引入