主要内容

extractFeatures

提取兴趣点描述符

描述

例子

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

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

例子

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

例子

全部折叠

读取图像。

我= imread (“cameraman.tif”);

查找和提取角点特征。

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

显示图像。

图;imshow(我);持有

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

绘制有效的角点。

情节(valid_corners);

图中包含一个轴对象。axis对象包含两个类型为image, line的对象。

读取图像。

我= imread (“cameraman.tif”);

查找和提取特征。

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

显示和绘图10个最强的SURF功能。

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

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

读取图像。

我= imread (“cameraman.tif”);

使用MSER和SURF特征描述符查找特征。

区域= detectMSERFeatures(我);[feature, valid_points] = extractFeatures(I,regions, valid_points)“正直”,真正的);

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

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

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

输入参数

全部折叠

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

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

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

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

名称-值参数

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

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

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

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

方法 特征向量(描述符)
筛选 尺度不变特征变换(SIFT)。函数将取向财产的validPoints输出对象到所提取特征的方向,以弧度为单位。
轻快的 二进制鲁棒不变可扩展关键点(轻快)。函数将取向财产的validPoints输出对象到所提取特征的方向,以弧度为单位。
快速视网膜关键点(FREAK)。函数将取向财产的validPoints输出对象到所提取特征的方向,以弧度为单位。
冲浪 加速健壮特性(SURF)。函数将取向财产的validPoints输出对象到所提取特征的方向,以弧度为单位。

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

ORB 面向FAST和旋转BRIEF (ORB)特征。的取向财产的validPoints的输出对象将自动设置为取向输入属性ORBPoints对象
KAZE 基于非线性金字塔的特点。

函数将取向财产的validPoints输出对象到所提取特征的方向,以弧度为单位。

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

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

简单的方形neighbhorhood。

该方法只提取完全包含在图像边界内的邻域。因此,输出,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

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

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

参考文献

G. Bradski和A. Kaehler学习OpenCV:使用OpenCV库的计算机视觉, O'Reilly, Sebastopol, CA, 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: speed Up Robust Features》,计算机视觉与图像理解(CVIU), Vol. 110, No. 3, pp. 346- 359, 2008。

Alahi, Alexandre, Ortiz, Raphael, and Pierre Vandergheynst, "FREAK: Fast Retina Keypoint",计算机视觉与模式识别会议, 2012年。

Alcantarilla, p.f., A. Bartoli和A.J. Davison。“KAZE功能”,ECCV 2012, Part VI, LNCS 7577214年,2012页

扩展功能

介绍了R2011a