主要内容

matchFeaturesInRadius

指定半径内找到匹配特性

描述

例子

indexPairs= matchFeaturesInRadius (features1,features2,points2,中心,半径)最有可能的回报指数特性之间的对应输入特性集内指定的半径或半径大约每个预期匹配位置。

(indexPairs,matchMetric)= matchFeaturesInRadius (___)也回报之间的距离在一对匹配的特性indexPairs

(indexPairs,matchMetric)= matchFeaturesInRadius (___,名称,值)指定选择使用一个或多个输入参数的名称参数除了以前的语法。

例子

全部折叠

垫文件包含一个图像,相机数据加载到工作区中。

data =负载(“matchInRadiusData.mat”);

把相机带来外在。

取向= data.cameraPose2.Rotation;位置= data.cameraPose2.Translation;[rotationMatrix, translationVector] = cameraPoseToExtrinsics(方向、位置);

项目与功能相关的3 d世界点设置一个到第二个图像。

中心= worldToImage (data.intrinsics rotationMatrix、translationVector data.worldPoints);

两者之间的匹配特性特性集内空间约束。

indexPairs1 = matchFeaturesInRadius (data.features1 data.features2,data.radius data.points2,中心,“MatchThreshold”现年40岁的“MaxRatio”,0.9);

两者之间的匹配特性特性集不使用空间约束。

indexPairs2 = matchFeatures (data.features1 data.features2,“MatchThreshold”现年40岁的“MaxRatio”,0.9);

可视化结果并比较两种方法之间的匹配特性。

图次要情节(2,1,1)showMatchedFeatures (data.I1、data.I2 data.points1 (indexPairs1 (: 1)), data.points2 (indexPairs1 (:, 2)));标题(sprintf (' % d对与空间约束的大小(indexPairs1 1)));次要情节(2,1,2)showMatchedFeatures (data.I1、data.I2 data.points1 (indexPairs2 (: 1)), data.points2 (indexPairs2 (:, 2)));标题(sprintf (' % d双匹配没有空间限制的大小(indexPairs2 1)));

图包含2轴对象。坐标轴对象1标题144对与空间约束包含4图像类型的对象,线。坐标轴对象2标题130双匹配没有空间限制包含4图像类型的对象,线。

输入参数

全部折叠

特性集指定为一个binaryFeatures对象或一个1 -N矩阵。矩阵包含了1功能,N对应于每个特征向量的长度。

你可以获得binaryFeatures对象使用extractFeatures函数的快速视网膜关键点(怪物),面向快速旋转短暂(ORB)或二进制健壮的不变的可伸缩的要点(快)描述符的方法。

数据类型:逻辑|int8|uint8|int16|uint16|int32|uint32|||binaryFeature对象

特性集2、指定为一个binaryFeatures对象或一个2 -N矩阵。矩阵包含了2的特性,N对应于每个特征向量的长度。

你可以获得binaryFeatures对象使用extractFeatures函数的快速视网膜关键点(怪物),面向快速旋转短暂(ORB)或二进制健壮的不变的可伸缩的要点(快)描述符的方法。

数据类型:逻辑|int8|uint8|int16|uint16|int32|uint32|||binaryFeature对象

设置两个特征点的特性,指定为一个2×2矩阵的格式(xy)或一个2-element特征点的数组。点特征类型的列表,请参阅点特征类型

数据类型:||点特征类型

预计在第二图像的匹配位置对应的特征点features1指定为一个1×2的坐标矩阵格式(xy]

数据类型:|

搜索半径与中心相关点,指定为一个标量或1-element向量。当你指定半径作为一个标量值,函数使用相同的搜索半径中心点。

数据类型:|

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

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

匹配阈值,指定为一个标量值的范围(0100)。默认值是10.0二进制特征向量或1.0对于二进制特征向量。您可以使用匹配阈值选择最强的比赛。阈值代表百分之一的距离一个完美的匹配。

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

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

比率阈值,指定为一个标量值的范围(0,1)。使用比拒绝模棱两可的比赛。增加这个值返回更多的比赛。

特征匹配度量,指定为“伤心”固态硬盘的

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

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

独特的匹配,指定为一个逻辑0()或1(真正的)。将这个值设置为真正的返回唯一匹配之间features1features2

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

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

输出参数

全部折叠

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

距离匹配特性,作为一个返回P1的向量。的th元素matchMetric对应于th行indexPairs输出矩阵。基于距离度量的值被选中,但总是一个完美的匹配0。当度规是设置为悲伤的固态硬盘之前,特征向量归一化单位向量计算。函数返回matchMetric作为一个数据类型时,features1features2的类型。否则,返回的类型的向量

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

请注意

你不能选择汉明度规。度规时自动选择features1features2输入binaryFeatures

数据类型:|

提示

  • 使用这个函数当3 d世界点对应的特性集features1,是已知的。中心可以通过投影点到第二个图像三维世界。您可以获得3 d世界点呈三角形从两个立体影像匹配的像点。

  • 您可以指定一个圆形区域特性集两个匹配点的特性集。原点指定为中心指定的半径半径。指定指向从特性集两个匹配points2

    图片1和图片2匹配投影点

引用

[1]Fraundorfer、弗里德里希·大卫Scaramuzza。“视觉测程法:第二部分:匹配、健壮性、优化和应用。”IEEE机器人和自动化》杂志19日,没有。2(2012年6月):78 - 90。https://doi.org/10.1109/MRA.2012.2182810。

[2]劳,大卫·g·“独特的形象特征尺度不变的要点。”国际计算机视觉杂志》上60,不。2(2004年11月):91 - 110。https://doi.org/10.1023/B: VISI.0000029664.99615.94。

[3]Muja,马吕斯,大卫·g·劳。最近的邻居“快速近似算法自动配置:”第四届国际计算机视觉理论的程序和应用程序,331 - 40。葡京,葡萄牙:SciTePress -科学和技术出版物,2009。https://doi.org/10.5220/0001787803310340。

[4]Muja,马吕斯,大卫·g·劳。“快速匹配二进制的功能。”In2012年第九次会议上电脑和机器人视觉,404 - 10。纽约:电气和电子工程师协会,2012。https://doi.org/10.1109/CRV.2012.60。

扩展功能

版本历史

介绍了R2021a