主要内容

estimateGeometricTransform.

从匹配点对估计几何变换

描述

例子

tform.= eStimateGeometricTransform(matchedpoints1.matchedpoints2.转换型返回2-D几何变换对象,tform.。这tform.对象映射inliersmatchedpoints1.对替代者matchedpoints2.

该功能不包括使用M估计的样本共识(MSAC)算法的异常值。MSAC算法是随机样本共识(RANSAC)算法的变体。由于MSAC算法的随机性质,结果可能在运行之间不相同。

笔记

此功能将在将来的释放中删除。使用estimateGeometricTransform2d.或者estimateGeetometricTransform3d.提供更大功能的功能。

例子

[tform.Inlierpoints1.Inlierpoints2.] = eStimateGeometricTransform(matchedpoints1.matchedpoints2.转换型返回相应的Inlier点Inlierpoints1.Inlierpoints2.

例子

[___状态] = eStimateGeometricTransform(matchedpoints1.matchedpoints2.转换型返回状态代码0.1, 或者2。如果您不请求状态代码输出,该函数返回无法生成结果的条件的错误。

[___] = eStimateGeometricTransform(matchedpoints1.matchedpoints2.转换型名称,价值使用一个或多个指定的其他选项名称,价值对论点。

例子

全部收缩

读取图像并显示它。

原始= imread('cameraman.tif');imshow(原始)标题('基础图像'

扭曲并显示变换的图像。

扭曲= Imresize(原版,0.7);扭曲= imrotate(扭曲,31);数字imshow(扭曲)标题('转换图像'

从原始图像和变换图像中检测和提取特征。

ptsoriginal =探测器(原版);ptsdistorted =检测到(扭曲);[特征诡计,validptsoriginal] =提取物(原始,冒号);[具有截图,validptsdistorted] =提取物(扭曲,ptordistored);

匹配和显示图像之间的显示功能。

index_pairs = matchfeatures(特征概述,特点);matchedptsoriginal = validptsoriginal(index_pairs(:,1));matchedptsdistorted = validptsdistorted(index_pairs(:,2));Figure ShowMatchedFeatures(原始,扭曲,Matchedptsoriginal,MatchedptsDistorted)标题('匹配的冲浪点与异常值');

排除异常值,估计转换矩阵,并显示结果。

[tform,inlieridx] = eStimationGeometricTransform2D(MatchedPtsDistorted,matchedptsoriginal,'相似');InLierptsDistorted = matchedptsdistorted(inlieridx,:);Inlierptsoriginal = MatchedPtpleSoriginal(Inlieridx,:);Figure ShowMatchedFeatures(原始,扭曲,inlierptsoriginal,InLierptsDistorted)标题('匹配的inlier积分'

使用估计的转换从扭曲的图像中恢复并显示原始图像。

OutputView = IMREF2D(大小(原始));ir = imwarp(扭曲,tform,'OutputView',OutputView);数字imshow(IR);标题('恢复图像');

输入参数

全部收缩

来自image 1的匹配点,指定为aKazepoints.角点目的,surfpoints.目的,MSERREGIONS目的,orbpoints.目的,Brikspoint.或者m-2-2矩阵[x,y]坐标。该功能不包括使用M估计的样本共识(MSAC)算法的异常值。MSAC算法是随机样本共识(RANSAC)算法的变体。

来自image 2的匹配点,指定为aKazepoints.角点目的,surfpoints.目的,MSERREGIONS目的,orbpoints.目的,Brikspoint.或者m-2-2矩阵[x,y]坐标。该功能不包括使用M估计的样本共识(MSAC)算法的异常值。MSAC算法是随机样本共识(RANSAC)算法的变体。

转换类型,指定为三个字符串之一。您可以将变换类型设置为'相似''仿射', 或者'投影'。匹配对的数量越大,估计变换的准确性越大。每个变换类型的最小匹配点数:

变换类型 最小匹配点数
'相似' 2
'仿射' 3.
'投影' 4.

数据类型:char

名称值对参数

指定可选的逗号分离对名称,价值论点。姓名是参数名称和价值是相应的价值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'信心'99.将信心值设置为99.

用于查找inliers的最大随机试验数,指定为由“maxnumtrial'和一个正整数标量。增加该值提高了结果的稳健性,以额外计算为代价。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

找到最大数量的inliers的信心,指定为由“逗号分隔的对”信心'和范围内的数字标量(0 100)。增加该值提高了结果的稳健性,以额外计算为代价。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

从其对应点的点到投影的最大距离,指定为逗号分隔的对“Maxdistance.'和一个正数标量。相应的投影基于估计的变换。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

输出参数

全部收缩

几何变换,返回ANAffine2d.对象或A.Projective2d.目的。

返回的几何变换矩阵地图映射inliersmatchedpoints1.对替代者matchedpoints2.。当你设置时转换型输入到任职'相似'或者'仿射',函数返回一个Affine2d.目的。否则,它返回一个Projective2d.目的。

状态代码,作为值返回0.1, 或者2

状态 描述
0. 没有错误。
1 matchedpoints1.matchedpoints2.输入不包含足够的点。
2 发现没有足够的恋人。

如果您不请求状态代码输出,函数将为无法生成结果的两个条件抛出错误。

数据类型:双倍的

Image 1中的Inlier点,返回与输入匹配点相同的类型。

Image 2中的Inlier点,返回与输入匹配点相同的类型。

参考

[1]哈特利,R.和A. Zisserman,“计算机愿景中的多视图几何”,剑桥大学出版社,2003年。

[2] Torr,P. H. S.和A. Zisserman,“MLESAC:一种新的强大估算器,其应用于估计图像几何形状”,“计算机视觉和图像理解2000年。

扩展能力

在R2013A介绍