extractFeatures

提取兴趣点的描述符

描述

例子

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

这个功能可以从周围的兴趣点像素导出描述符。的像素表示,并通过单点位置指定匹配的特征。每个单点指定一个住宅区的中心位置。您使用的描述符的提取方法依赖于类的输入

例子

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

例子

全部折叠

读取图像。

I = imread('cameraman.tif');

找到并提取角特征。

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

显示图像。

数字;imshow(I);保持

画出有效的角点。

情节(valid_corners);

读取图像。

I = imread('cameraman.tif');

查找和提取特征。

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

显示和情节十强SURF功能。

数字;imshow(I);保持;情节(valid_points.selectStrongest(10),“showOrientation”,真正);

读取图像。

I = imread('cameraman.tif');

使用冲浪特征描述符MSER找到特征。

区域= detectMSERFeatures(I);[特征,valid_points] = extractFeatures(I,区域,“正直”,真正);

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

数字;imshow(I);保持;图(valid_points,“showOrientation”,真正);

输入参数

全部折叠

输入图像,指定为二进制或2d灰度图像。

数据类型:逻辑|||int16|UINT8|UINT16

正方形邻域的中心定位点,指定为aBRISKPoints,SURFPoints,KAZEPoints,MSERRegions,cornerPoints, 要么ORBPoints对象,或-by-2的矩阵坐标的数目。该表列出了可用于提取的点的可能输入类。

分等级
BRISKPoints 二进制健壮不变可伸缩关键点(BRISK)
SURFPoints对象 加速强健特征(SURF)
MSERRegions对象 最大稳定极值区域(MSER)
cornerPoints 从功能加速段测试(FAST),最小特征值,或者哈里斯
KAZEPoints 非线性基于金字塔图像旋转和方向不变的特性。类似SURF,但包含噪音更小点。
ORBPoints 面向快速和旋转简要(ORB)的特点。
的[X Y]坐标-by-2矩阵 在[x, y]点位置附近的简单方形邻域

名称-值对的观点

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

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

描述符提取方法,指定为逗号分隔的对,由'方法“和”怪物”、“冲浪”、“ORB”,', 要么 '汽车”。

下表描述了该功能是如何实现的描述符提取方法。

方法 特征矢量(描述符)
轻快 二进制健壮的不变可伸缩关键点(BRISK)。
函数设置取向财产的validPoints将对象输出到提取特征的方向,以弧度为单位。
怪物 快速视网膜关键点(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椭圆区域。

简单的方形neighbhorhood。

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

汽车 功能选择方法,根据输入点的类,实现:
怪物方法一cornerPoints输入对象。
冲浪方法一SURFPoints要么MSERRegions输入对象。
轻快方法一BRISKPoints输入对象。
ORB方法一ORBPoints输入对象。

-by-2的输入矩阵[xy,该函数实现方法。

请注意

的描述符提取方法必须是ORB,如果输入是一个ORBPoints目的。也,ORB描述符提取方法不支持任何其他类型的点,除了万博1manbetxORBPoints

块大小,指定为一个奇整数标量。该值定义了本地广场附近BlockSize-通过-BlockSize,以每个兴趣点为中心。此选项仅在函数实现时应用方法。

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

请注意

旋转不变性标志“正直”如果输入不支持万博1manbetx是一个ORBPoints目的。

在SURF或KAZE特征矢量(描述符)的长度,指定为64要么128。此选项仅在函数实现时应用冲浪要么KAZE方法。的较大特征尺寸128提供了更大的精确度,但降低了特征匹配速度。

输出参数

全部折叠

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

中与每个输出特征向量(描述符)相关联的有效点特征,以与输入相同的格式返回。有效点可以是aBRISKPoints,cornerPoints,SURFPoints,KAZEPoints,MSERRegions,ORBPoints对象,或-乘2矩阵的[x,y]坐标。

这个功能可以从围绕每个兴趣点的区域中提取描述符。如果图像的区域位于外,该功能不能计算出该点的特征描述符。当关注点在于过于靠近图像的边缘,该功能无法计算的特征描述信息。在这种情况下,该功能会忽略这一点。该点不包括在有效点输出。

参考文献

[1] G. Bradski和A. Kaehler,学习OpenCV:计算机视觉与OpenCV库,奥赖利,塞瓦斯托波尔,CA,2008年。

赫伯特·贝,安德烈亚斯·艾斯,廷尼·图伊特拉尔斯,卢克·范·古尔,SURF:加速健壮的功能”,计算机视觉和图像理解(CVIU)《中华人民共和国刑法》,第110卷第3期,第346—359页,2008年

[3] Bay, Herbert, Andreas Ess, Tinne Tuytelaars,和Luc Van Gool,“冲浪:加速强大的特征”,计算机视觉和图像理解(CVIU)《中华人民共和国刑法》,第110卷第3期,第346—359页,2008年。

Alahi, Alexandre, Ortiz, Raphael, and Pierre Vandergheynst,《畸形:快速视网膜关键点》,IEEE计算机视觉与模式识别会议,2012。

[5] Alcantarilla, p.f., A. Bartoli和A.J. Davison。“KAZE功能”,ECCV 2012,第六部分,lncs7577第214,2012

扩展功能

介绍了R2011a