主要内容

estimateGeometricTransform

(不推荐)估计几何变换从匹配点对

estimateGeometricTransform不推荐。使用estgeotform2destgeotform3d函数来代替。有关更多信息,请参见兼容性的考虑

描述

例子

tform= estimateGeometricTransform (matchedPoints1,matchedPoints2,transformType)返回一个二维几何变换对象,tform。的tform内围层的对象映射matchedPoints1的窗matchedPoints2

函数使用M-estimator排除异常值样本共识(MSAC)算法。MSAC算法随机样本共识的一种变体(RANSAC)算法。结果可能不是相同的运行之间,因为MSAC算法的随机性质。

例子

(tform,inlierpoints1,inlierpoints2)= estimateGeometricTransform (matchedPoints1,matchedPoints2,transformType)返回相应的内围层点inlierpoints1inlierpoints2

例子

(___,状态)= estimateGeometricTransform (matchedPoints1,matchedPoints2,transformType)返回一个状态码0,1,或2。如果你不要求状态的函数返回一个错误代码输出,不能产生结果的条件。

(___)= estimateGeometricTransform (matchedPoints1,matchedPoints2,transformType,名称,值)使用附加选项指定一个或多个名称参数。

例子

全部折叠

读一个图像,显示它。

原始= imread (“cameraman.tif”);imshow(原始)标题(“基础镜像”)

扭曲和显示转换后的图像。

扭曲= imresize(原始,0.7);扭曲= imrotate(扭曲、31);图imshow(扭曲)标题(改变了形象的)

检测和提取特征从原始和转换后的图像。

ptsOriginal = detectSURFFeatures(原始);ptsDistorted = detectSURFFeatures(扭曲);[featuresOriginal, validPtsOriginal] = extractFeatures(原始ptsOriginal);[featuresDistorted, validPtsDistorted] = extractFeatures(扭曲,ptsDistorted);

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

index_pairs = matchFeatures (featuresOriginal featuresDistorted);matchedPtsOriginal = validPtsOriginal (index_pairs (: 1));matchedPtsDistorted = validPtsDistorted (index_pairs (:, 2));图showMatchedFeatures(原始的、扭曲、matchedPtsOriginal matchedPtsDistorted)标题(“与异常值匹配的冲浪点”);

排除异常值,估算的变换矩阵,并显示结果。

[tform, inlierIdx] = estimateGeometricTransform2D (matchedPtsDistorted matchedPtsOriginal,“相似”);inlierPtsDistorted = matchedPtsDistorted (inlierIdx:);inlierPtsOriginal = matchedPtsOriginal (inlierIdx:);图showMatchedFeatures(原始的、扭曲、inlierPtsOriginal inlierPtsDistorted)标题(“匹配窗点”)

恢复使用估计转换和显示的原始图像扭曲的形象。

outputView = imref2d(大小(原始));Ir = imwarp (tform扭曲,“OutputView”,outputView);图imshow (Ir);标题(恢复图像的);

输入参数

全部折叠

从图1匹配点,指定为一个KAZEPoints,cornerPoints对象,SIFTPoints,SURFPoints对象,MSERRegions对象,ORBPoints对象,BRISKPoints或者一个2 (x, y)坐标的矩阵。函数使用M-estimator排除异常值样本共识(MSAC)算法。MSAC算法随机样本共识的一种变体(RANSAC)算法。

从图2匹配点,指定为一个KAZEPoints,cornerPoints对象,SIFTPoints,SURFPoints对象,MSERRegions对象,ORBPoints对象,BRISKPoints或者一个2 (x, y)坐标的矩阵。函数使用M-estimator排除异常值样本共识(MSAC)算法。MSAC算法随机样本共识的一种变体(RANSAC)算法。

转换类型,指定为“相似”,“仿射”,或“射影”。点的配对数量越大,越大的准确性估计转换。点的最小数量的配对转换类型:

转换类型 最小数量的配对的点
“相似” 2
“仿射” 3
“射影” 4

数据类型:字符串|字符

名称-值参数

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

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

例子:“信心”,99集价值的信心99年

最大数量的随机试验寻找窗,指定为一个正整数标量。增加这个值可以提高结果的可靠性为代价的额外计算。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

信心找到内围层的最大数量,指定为一个百分比数字标量范围(0 100)。增加这个值可以提高结果的可靠性为代价的额外计算。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

最大距离以像素为单位,从一个点到相应的投影点,指定为一个积极的数字标量。相应的投影是基于估计变换。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

几何变换,作为一个返回affine2d对象或一个projective2d对象。

返回的几何变换矩阵内围层的地图matchedPoints1的窗matchedPoints2。当你设置transformType输入到“相似”“仿射”,函数返回一个affine2d对象。否则,它返回一个projective2d对象。

内围层点在图片1中,作为相同的返回类型作为输入匹配点。

内围层点在图片2中,作为相同的返回类型作为输入匹配点。

状态代码,作为值返回0,1,或2

状态 描述
0 没有错误。
1 matchedPoints1matchedPoints2输入不包含足够的点。
2 没有足够的内围层发现。

如果你不要求状态代码输出,两个条件的函数将抛出一个错误,不能产生结果。

数据类型:

引用

[1]理查德·哈特利,安德鲁Zisserman。计算机视觉中的多视图几何。第二版》。剑桥,英国 ;纽约:剑桥大学出版社,2003年。

[2]托,P.H.S.,和A. Zisserman. "MLESAC: A New Robust Estimator with Application to Estimating Image Geometry."计算机视觉和图像理解。78年,没有。1(2000年4月):138 - 56。https://doi.org/10.1006/cviu.1999.0832。

扩展功能

版本历史

介绍了R2013a

全部展开