主要内容

matchFeatures

找到匹配的特性

描述

实例

索引= matchFeatures (特点1,特点2)返回两个输入特征集中匹配特征的索引。输入特性必须是其中之一二进制特征对象或矩阵。

[索引,matchmetric) = matchFeatures (特点1,特点2)还返回匹配特征之间的距离,索引为索引

[索引,matchmetric) = matchFeatures (特点1,特点2,名称、值)包括一个或多个指定的附加选项名称、值对参数。

例子

全部崩溃

利用局部邻域和Harris算法在一对图像之间找到对应的兴趣点。

阅读立体图像。

I1=im2gray(imread(“viprectification_deskLeft.png”));I2 = im2gray (imread (“Viprecification_deskRight.png”));

找到角落。

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

提取邻域特征。

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

匹配特性。

indexPairs=匹配特征(特征1、特征2);

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

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

将相应的点形象化。您可以看到两个图像之间的转换效果,尽管有几个错误的匹配。

图形显示匹配特征(I1、I2、匹配点1、匹配点2);

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

使用SURF local feature detector功能查找两个图像之间的对应点,这两个图像相互旋转并缩放。

阅读这两张图片。

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

查找SURF功能。

点s1=检测特征(I1);点S2=检测特征(I2);

提取特征。

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

检索匹配点的位置。

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

显示匹配点。数据仍然包含几个异常值,但您可以看到旋转和缩放对匹配特征显示的影响。

图形显示匹配特征(I1、I2、匹配点1、匹配点2);传奇(“匹配点1”,“匹配点2”);

图中包含一个轴对象。轴对象包含4个类型为image, line的对象。这些对象表示匹配点1,匹配点2。

输入参数

全部崩溃

要素集1,指定为二进制特征对象或一个M1.——- - - - - -N矩阵。矩阵包含M1.特点,以及N对应于每个特征向量的长度。你可以获得二进制特征使用extractFeatures功能包括快速视网膜关键点(FRANK)、定向快速旋转简短(ORB)或二进制鲁棒不变可缩放关键点(BRISK)描述符方法。

功能集2,指定为a二进制特征对象或一个M2.——- - - - - -N矩阵。矩阵包含M2.特性和N对应于每个特征向量的长度。你可以获得二进制特征使用extractFeatures功能包括快速视网膜关键点(FRANK)、定向快速旋转简短(ORB)或二进制鲁棒不变可缩放关键点(BRISK)描述符方法。

名称值参数

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

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

匹配方法,指定为逗号分隔的对,由'方法”“或者“详尽”“近似”.该方法指定了最接近的邻居之间的关系特点1特点2被发现。当两个特征向量之间的距离小于由匹配阈值参数。

“详尽”

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

“近似”

使用有效的近似最近邻搜索。对大型要素集使用此方法。[3]

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

当两个特征向量之间的距离小于设定的阈值时,两个特征向量进行匹配匹配阈值.当特性之间的距离大于值时,函数将拒绝匹配匹配阈值.增加该值以返回更多匹配项。

输入,二进制特征对象通常需要更大的匹配阈值extractFeatures函数的作用是:返回二进制特征对象在提取FREAK、ORB或BRISK描述符时。

比率阈值,指定为逗号分隔对,由'MaxRatio'和范围(0,1)中的标量比率值。使用最大比率拒绝不明确的匹配。增加此值可返回更多匹配。

特征匹配度量,指定为逗号分隔对,由'米制的”“或者“悲伤”“SSD”

“悲伤” 绝对差之和
“SSD” 差平方和

当输入要素集,特点1特点2,不是吗二进制特征对象。当你指定特性为二进制特征对象,函数使用汉明距离来计算相似性度量。

唯一匹配项,指定为逗号分隔对,由'唯一的”“或者错误的真正的。将此值设置为真正的只返回之间的唯一匹配特点1特点2

当您设置唯一的错误的,该函数返回之间的所有匹配项特点1特点2.多个功能特点1能匹配一个功能在特点2

表示要素1的列,条目1和条目3被圈起来,并指向表示要素2的列的条目2

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

输出参数

全部崩溃

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

匹配特征之间的距离,返回为P1的向量。距离的值是基于所选择的度量。每一个th元素matchmetric对应于第一行索引输出矩阵。什么时候米制的设置为悲伤的固态硬盘,在计算前将特征向量归一化为单位向量。

米制的 范围 完美的匹配值
悲伤的 [0,2.*sqrt(大小(特点1,2.))]. 0
固态硬盘 [0,4.] 0
哈明 [0, features1。NumBits] 0

参考文献

David G. Lowe“来自比例不变关键点的独特图像特征”国际计算机视觉杂志.第60卷第2期91-110页。

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

[3] 具有自动算法配置的快速近似最近邻计算机视觉理论与应用国际会议.VISAPP, 2009年。

[4] 鲁布利,E.,V.拉博,K.科诺里奇和G.布拉德斯基,《圆球:筛分或冲浪的有效替代品》,摘自2011年国际计算机视觉会议记录, 2564–2571. 巴塞罗那,西班牙,2011年。

扩展功能

在R2011a中引入