文档帮助中心
查找匹配功能
indexPairs = matchFeatures(功能1,功能2)
[indexPairs, matchmetric] = matchFeatures (features1 features2)
[indexPairs, matchmetric] = matchFeatures (features1 features2,名称,值)
例子
indexPairs= matchFeatures(features1,features2)在两个输入功能集的匹配特征的回报指标。输入要素必须是binaryFeatures对象或矩阵。
indexPairs= matchFeatures(features1,features2)
indexPairs
features1
features2
binaryFeatures
(indexPairs,matchmetric] = matchFeatures(features1,features2)还返回匹配特性之间的距离,索引为indexPairs。
(indexPairs,matchmetric] = matchFeatures(features1,features2)
matchmetric
(indexPairs,matchmetric] = matchFeatures(features1,features2,名称,值)包含一个或多个指定的附加选项名称,值对参数。
(indexPairs,matchmetric] = matchFeatures(features1,features2,名称,值)
名称,值
全部折叠
使用局部邻居关系和Harris算法在一对图像之间找到对应的兴趣点。
阅读立体图像。
I1 = rgb2gray (imread ('viprectification_deskLeft.png'));I2 = rgb2gray(imread(“viprectification_deskRight.png”));
找到的角落。
points1 = detectHarrisFeatures(I1);points2 = detectHarrisFeatures(I 2);
提取的相邻部分特征。
[功能1,valid_points1] = extractFeatures(I1,points1);[功能2,valid_points2] = extractFeatures(I2,points2);
匹配功能。
indexPairs = matchFeatures (features1 features2);
检索每个图像对应点的位置。
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);
找到SURF功能。
里= detectSURFFeatures (I1);points2 = detectSURFFeatures (I2);
提取特征。
[F1,VPTS1] = extractFeatures(I1,points1);[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——- - - - - -N矩阵。矩阵包含了米1特性,N对应于每个特征向量的长度。你可以得到binaryFeatures对象使用extractFeatures功能与快速视网膜关键点(畸形),面向快速旋转简要(ORB),或二进制稳健不变的可伸缩关键点(敏捷)描述符方法。
extractFeatures
功能类型2,指定为binaryFeatures对象或米2——- - - - - -N矩阵。矩阵包含了米2功能和N对应于每个特征向量的长度。你可以得到binaryFeatures对象使用extractFeatures功能与快速视网膜关键点(畸形),面向快速旋转简要(ORB),或二进制稳健不变的可伸缩关键点(敏捷)描述符方法。
指定可选的逗号分隔的对名称,值参数。名称参数名和值是对应的值。名称必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家。
名称
值
Name1, Value1,…,的家
“指标”
固态硬盘的
'方法'
“详尽”
'近似'
匹配方法中,指定为逗号分隔的一对组成的“方法”,要么“详尽”要么'近似'。该方法规定了如何与最近的邻居features1和features2被发现。两个特征向量匹配当它们之间的距离小于由所述阈值设置MatchThreshold参数。
方法
MatchThreshold
计算特征向量之间的两两距离features1和features2。
使用有效的近似近邻搜索。将此方法用于大型功能集。[3]
“MatchThreshold”
10.0
1.0
阈值,指定为由'组成的逗号分隔的对。MatchThreshold'和范围内的标量的百分比值(0100],缺省值被设置为10.0对于二进制特征向量或1.0用于非二进制特征向量。您可以使用匹配阈值选择最强的比赛。阈值代表一个完美的比赛距离的百分比。
两个特征向量匹配当它们之间的距离小于所述阈值集合通过MatchThreshold。当特征之间的距离大于的值时,函数拒绝匹配MatchThreshold。增加值返回更多的比赛。
输入,binaryFeatures对象通常需要更大的匹配阈值。的extractFeatures函数返回binaryFeatures提取FREAK,ORB,还是快步描述符时的对象。
'MaxRatio'
0.6
比率阈值,指定为由'组成的逗号分隔的对。MaxRatio和范围(0,1)内的标量比值。使用最大比率来拒绝不明确的匹配。增加这个值以返回更多的匹配项。
MaxRatio
“伤心”
特征匹配度量,指定为由'组成的逗号分隔的对。度规”,要么“伤心”要么固态硬盘的。
度规
当输入特性设置时,应用此属性,features1和features2,不binaryFeatures对象。当您指定的特点binaryFeatures目的,该函数使用的汉明距离来计算相似性度量。
“独特的”
假
真正
唯一匹配,指定为逗号分隔的对,其中包含'独特的”,要么假要么真正。将此值设置为真正之间只返回唯一的匹配features1和features2。
独特的
当您设置独特的至假,该函数返回之间的所有匹配项features1和features2。在多重功能features1可以匹配一个功能吗features2。
当您设置独特的至真正时,功能执行前后匹配来选择一个唯一的匹配。匹配后features1至features2,它匹配features2至features1保持最佳匹配。
的两个输入特征集之间的对应特征,返回作为索引P-by-2的矩阵P指数的数量。每个索引对对应于所述一个之间匹配的特征features1和features2输入。第一个元素对特性进行索引features1。第二个元素将匹配的特征编入索引features2。
匹配特征之间的距离,返回为p×1向量。的距离的值是基于所选择的度量。每我th元素matchmetric对应于我第i行的indexPairs输出矩阵。当度规被设置为悲伤的要么SSD中,特征向量计算之前归一化到单位矢量。
悲伤的
SSD
0
2
√6
大小
4
汉明
0,features1.NumBits
你不能选择汉明指标。它在什么时候被自动调用features1和features2输入binaryFeatures。
[1]洛韦,戴维G.“特色图像从尺度不变关键点的功能”。国际计算机视觉杂志。容积60,第2号,第91-110。
[2] Muja, M.和D. G. Lowe。二进制特征的快速匹配。”计算机和机器人视觉会议。CRV, 2012年。
[3] Muja, M.和D. G. Lowe。快速近似最近邻与自动算法配置。国际计算机视觉理论与应用会议.VISAPP,2009年。
[4] Rublee, E., V. Rabaud, K. Konolige和G. Bradski。“ORB:一个有效的选择来筛选或冲浪。”In2011年计算机视觉国际会议论文集,2564 - 2571。2011年西班牙巴塞罗那。
使用注意事项和限制:
为MATLAB生成平台相关的库®仅在使用详细方法。
详细
使用仅当产生可移植的C代码对非宿主靶详细方法。
类时,使用链接到OpenCV(版本3.4.0)库的c++编译器生成可移植的C代码详细方法。看到可移植的C代码生成功能使用OpenCV库。
'方法'和“指标”必须是编译时常量。
CUDA®仅为。生成代码详细匹配的方法。如果近似方法被选择时,编码器GPU™发出一个警告,并产生C / C ++代码实现此功能。
近似
binaryFeatures|detectBRISKFeatures|detectFASTFeatures|detectHarrisFeatures|detectMSERFeatures|detectMinEigenFeatures|detectORBFeatures|detectSURFFeatures|estimateFundamentalMatrix|estimateGeometricTransform|extractFeatures|showMatchedFeatures
detectBRISKFeatures
detectFASTFeatures
detectHarrisFeatures
detectMSERFeatures
detectMinEigenFeatures
detectORBFeatures
detectSURFFeatures
estimateFundamentalMatrix
estimateGeometricTransform
showMatchedFeatures
存在一个版本可以修改。在哪里工作?
你点击了一个链接,对应于这个MATLAB命令:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
选择一个网站,以获得翻译的内容,其中可看到当地的活动和优惠。根据您的位置,我们建议您选择:。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文),以获得最佳的网站表现。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
请联系您当地的办事处