matchFeatures

找到匹配的特性

描述

indexPairs= matchFeatures (特点1功能2返回两个输入特征集中匹配特征的索引。输入特性必须是其中之一binaryFeatures对象或矩阵。

[indexPairsmatchmetric)= matchFeatures (特点1功能2还返回匹配特征,通过索引之间的距离indexPairs

[indexPairsmatchmetric)= matchFeatures (特点1功能2名称,值包括由一个或多个指定的附加选项名称,值对参数。

例子

全部收缩

使用局部邻居关系和Harris算法在一对图像之间找到对应的兴趣点。

阅读立体图像。

I1 = rgb2gray(imread(“viprectification_deskLeft.png”));I2 = rgb2gray (imread ('viprectification_deskRight.png'));

找到角落。

里= detectHarrisFeatures (I1);points2 = detectHarrisFeatures (I2);

提取邻域特征。

[features1, valid_points1] = extractFeatures (I1,里);[features2, valid_points2] = extractFeatures (I2 points2);

匹配特性。

indexPairs = matchFeatures(功能1,功能2);

检索每个图像对应点的位置。

matchedPoints1 = valid_points1 (indexPairs (: 1):);matchedPoints2 = valid_points2 (indexPairs (:, 2):);

想象相应的点。您可以看到两个图像之间的翻译效果,尽管有几个错误的匹配。

图;showMatchedFeatures (I1、I2 matchedPoints1 matchedPoints2);

使用SURF局部特征检测器功能地发现,被旋转,并且相对于彼此缩放两个图像之间的对应点。

阅读这两幅图片。

I1 = imread(“cameraman.tif”);I2 = imresize(imrotate(I1,-20),1.2);

找到冲浪功能。

points1 = detectSURFFeatures(I1);points2 = detectSURFFeatures(I 2);

解压缩功能。

[f1, vpts1] = extractFeatures (I1,里);[f2, vpts2] = extractFeatures (I2 points2);

检索匹配点的位置。

indexPairs = matchFeatures(f1,f2);matchedPoints1 = vpts1 (indexPairs (: 1));matchedPoints2 = vpts2 (indexPairs (:, 2));

显示匹配点。该数据还包括一些异常,但你可以看到匹配的特征在显示器上旋转和缩放的效果。

图;showMatchedFeatures (I1、I2 matchedPoints1 matchedPoints2);传奇(“匹配点1”“匹配点2”);

输入参数

全部收缩

功能类型1,指定为binaryFeatures对象或一个中号1——- - - - - -ñ矩阵。该基质含有中号1功能和ñ对应每个特征向量的长度。你可取得binaryFeatures对象使用extractFeatures与快速视网膜关键点(FREAK)功能,快速的面向和旋转的附图(ORB),或二进制健壮不变可伸缩的关键点(BRISK)描述符的方法。

特征集2,指定为abinaryFeatures对象或一个中号2——- - - - - -ñ矩阵。该基质含有中号2特性和ñ对应每个特征向量的长度。你可取得binaryFeatures对象使用extractFeatures与快速视网膜关键点(FREAK)功能,快速的面向和旋转的附图(ORB),或二进制健壮不变可伸缩的关键点(BRISK)描述符的方法。

名称 - 值对参数

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

例子:“公制”'SSD'指定特征匹配度量的差异平方和。

匹配方法,指定为由'组成的逗号分隔的对。方法',要么“详尽”“近似”。该方法指定了它们之间的最近邻居特点1功能2被发现。两个特征向量之间的距离小于阈值时匹配MatchThreshold参数。

“详尽”

计算特征向量之间的距离成对中特点1功能2

“近似”

使用一个有效的近似最近邻搜索。使用大型功能集此方法。[3]

匹配阈值的阈值,指定为逗号分隔的一对组成的“MatchThreshold和一个范围内的标量百分比值(0,100)。默认值设置为其中之一10.0对于二进制特征向量或1.0对于非二进制特征向量。您可以使用匹配阈值来选择最强的匹配。阈值表示距离完美匹配的距离的百分比。

两个特征向量之间的距离小于设置的阈值时匹配MatchThreshold。当特征之间的距离大于的值时,函数拒绝匹配MatchThreshold。增加值以返回更多匹配项。

输入,binaryFeatures对象通常需要匹配阈值更大的值。该extractFeatures函数的作用是:返回binaryFeatures提取怪物、球体或轻快描述符时的对象。

比率阈值,指定为逗号分隔的一对组成的“MaxRatio'和在范围(0,1]标比率值。使用用于拒绝不明确匹配最大比率。增加该值返回更多的匹配。

特征匹配度量,指定为由'组成的逗号分隔的对。',要么'伤心''SSD'

'伤心' 绝对差和
'SSD' 的平方差之和

此属性适用于当输入的特性集,特点1功能2, 不是binaryFeatures对象。当您将特性指定为binaryFeatures该函数使用汉明距离来计算相似度度量。

唯一匹配,指定为逗号分隔的一对组成的“独特',要么真正的。将该值设置为真正的之间只返回唯一的匹配特点1功能2

当您设置独特,该函数返回之间的所有比赛特点1功能2。多个功能特点1可以匹配一个功能吗功能2

当您设置独特真正的,该函数执行向前-向后匹配以选择唯一匹配。匹配后特点1功能2, 它匹配功能2特点1并保持最佳匹配。

输出参数

全部收缩

两个输入特征集之间对应特征的索引,返回为P2的矩阵P数量的指标。属性之间的匹配特征对应每个索引对特点1功能2投入。第一个要素指标的功能特点1。第二个元素将匹配的特征编入索引功能2

匹配特征之间的距离,返回为p1的向量。距离的值是基于所选择的度规。每一个一世th元素matchmetric对应于一世在第几行indexPairs输出矩阵。什么时候设置为悲伤的固态硬盘,特征向量归一化为单位向量后再进行计算。

范围 完美的匹配值
悲伤的 [02*开方尺寸特点12))]。 0
固态硬盘 [04] 0
海明 [0,features1.NumBits] 0

注意

您不能选择海明度量。它会自动调用时特点1功能2输入是binaryFeatures

参考文献

戴维·洛维。“来自尺度不变关键点的独特图像特征。”国际计算机视觉杂志。第60卷第2期91-110页。

[2] Muja,M。和D. G.洛韦。“二进制的快速匹配功能。”计算机和机器人视觉会议。CRV, 2012年。

[3] Muja,M。和D. G.洛韦。“快速近似与自动算法配置近邻。”国际计算机视觉理论与应用会议.VISAPP, 2009年。

[4] Rublee,E.,V. RABAUD,K. Konolige和G. Bradski。“ORB:一个有效的替代SIFT或SURF”。在计算机视觉在2011年国际会议论文集,2564年至2571年。西班牙巴塞罗那,2011。

扩展功能

介绍了在R2011a