主要内容

matchFeatures

找到匹配的特性

描述

例子

indexPairs= matchFeatures (features1,features2)返回索引匹配特性的两个输入特性集。必须输入特性binaryFeatures对象或矩阵。

(indexPairs,matchmetric)= matchFeatures (features1,features2)还返回匹配之间的距离特性,索引indexPairs

(indexPairs,matchmetric)= matchFeatures (features1,features2,名称,值)包括指定的一个或多个额外的选项名称,值对参数。

例子

全部折叠

找到相应的兴趣点之间的一对图像使用本地neighbhorhoods和哈里斯算法。

看立体影像。

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

找到角落。

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

提取社区功能。

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

匹配特性。

indexPairs = matchFeatures (features1 features2);

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

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

可视化对应点。你可以看到两张图片之间的翻译的影响尽管几个错误匹配。

图;showMatchedFeatures (I1、I2 matchedPoints1 matchedPoints2);

图包含一个坐标轴对象。坐标轴对象包含4图像类型的对象,线。”width=

使用局部特征检测器冲浪函数找到两幅图像之间的对应点,旋转和缩放彼此。

看两张图片。

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

找到浏览功能。

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

提取特征。

[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);

图包含一个坐标轴对象。坐标轴对象包含4图像类型的对象,线。这些对象代表匹配点1、2匹配点。”width=

输入参数

全部折叠

功能设置1,指定为一个binaryFeatures对象或一个1——- - - - - -N矩阵。矩阵包含了1特性,N对应于每个特征向量的长度。你可以获得binaryFeatures对象使用extractFeatures函数的快速视网膜关键点(怪物),面向快速旋转短暂(ORB)或二进制健壮的不变的可伸缩的要点(快)描述符的方法。

功能组2,指定为一个binaryFeatures对象或一个2——- - - - - -N矩阵。矩阵包含了2特性和N对应于每个特征向量的长度。你可以获得binaryFeatures对象使用extractFeatures函数的快速视网膜关键点(怪物),面向快速旋转短暂(ORB)或二进制健壮的不变的可伸缩的要点(快)描述符的方法。

名称-值参数

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

例子:“指标”,固态硬盘的指定的平方的总和差异特征匹配度量。

匹配方法,指定为逗号分隔两人组成的方法”,要么“详尽”“近似”。指出该方法最近的邻居之间features1features2被发现。两个特征向量匹配,当它们之间的距离小于设定的阈值MatchThreshold参数。

“详尽”

计算两两特征向量之间的距离features1features2

“近似”

使用一个有效的近似最近邻搜索。使用这种方法对于大型特性集。[3]

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

两个特征向量匹配,当它们之间的距离小于设定的阈值MatchThreshold。函数时拒绝匹配特性之间的距离大于的价值MatchThreshold。增加价值返回更多的比赛。

输入,binaryFeatures对象匹配阈值通常需要一个更大的值。的extractFeatures函数的作用是:返回binaryFeatures对象提取狂时,ORB,或轻快的描述符。

比率阈值,指定为逗号分隔两人组成的“MaxRatio”和一个标量比率值范围(0,1)。拒绝使用max率模糊匹配。增加这个值返回更多的比赛。

特征匹配度量,指定为逗号分隔两人组成的度规”,要么“伤心”固态硬盘的

“伤心” 的绝对差异
固态硬盘的 的平方之和的差异

这个属性适用于输入特性集,features1features2,不binaryFeatures对象。当你指定特性binaryFeatures对象,函数使用的汉明距离计算相似度度量。

独特的匹配,指定为逗号分隔两人组成的独特的”,要么真正的。将这个值设置为真正的返回唯一匹配之间features1features2

当您设置独特的之间的函数返回所有匹配features1features2。多个功能features1可以匹配到一个功能features2

列代表特征与条目1和3圈1,指着条目2列代表功能2”height=

当您设置独特的真正的,函数执行forward-backward匹配选择一个独特的比赛。匹配后features1features2,它匹配features2features1并保持最佳匹配。

输出参数

全部折叠

指数两个输入特性集之间的对应的功能,作为一个返回P2的矩阵P数量的指标。每个索引一对对应于之间的匹配特性features1features2输入。第一个元素的索引功能features1。第二个元素索引匹配的功能features2

距离匹配特性,作为一个返回p1的向量。基于距离度量的价值选择。每一个th元素matchmetric对应于th行indexPairs输出矩阵。当度规是设置为悲伤的固态硬盘之前,特征向量归一化单位向量计算。

度规 范围 完美的匹配值
悲伤的 (0,2*√6(大小(features1,2)))。 0
固态硬盘 (0,4] 0
汉明 (0,features1.NumBits] 0

引用

[1]劳,大卫G。“独特的形象特征尺度不变的要点。”国际计算机视觉杂志》上。60卷,2号,第91 - 110页。

[2]Muja, M。,和D. G. Lowe. "Fast Matching of Binary Features. "会议上电脑和机器人视觉。CRV, 2012年。

[3]Muja, M。,和D. G. Lowe. "Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration."国际会议上计算机视觉理论和应用程序.VISAPP, 2009年。

[4]Rublee E。,V. Rabaud, K. Konolige and G. Bradski. "ORB: An efficient alternative to SIFT or SURF." In2011年国际会议上计算机视觉学报》上,2564 - 2571。2011年西班牙巴塞罗那。

扩展功能

介绍了R2011a