找到图像旋转和尺度使用自动化特性匹配
这个例子展示了如何自动确定一对图像之间的几何变换。当一个图像扭曲相对于另一个旋转和尺度,使用detectSURFFeatures
和estimateGeometricTransform2D
旋转角度和比例因子。你可以改变扭曲的图像恢复原始图像。
步骤1:读取图像
把一个图像到工作区中。
原始= imread (“cameraman.tif”);imshow(原始);文本(大小(原始的,2),大小(原始的,1)+ 15,…图片由麻省理工学院的,…“字形大小”7“HorizontalAlignment”,“对”);
第二步:调整和旋转图像
规模= 0.7;J = imresize(原始、规模);%尝试改变比例因子。θ= 30;扭曲= imrotate (J,θ);%试着变换角度,θ。图中,imshow(扭曲)
你可以通过改变实验规模和输入图像的旋转。然而,请注意,是有限度的数量可以改变前的规模特征检测器无法找到足够的特性。
第三步:找到图像之间匹配特性
在图像检测功能。
ptsOriginal = detectSURFFeatures(原始);ptsDistorted = detectSURFFeatures(扭曲);
提取特征描述符。
[featuresOriginal, validPtsOriginal] = extractFeatures(原始ptsOriginal);[featuresDistorted, validPtsDistorted] = extractFeatures(扭曲,ptsDistorted);
通过他们的描述符匹配特性。
indexPairs = matchFeatures (featuresOriginal featuresDistorted);
检索为每个图像对应点的位置。
matchedOriginal = validPtsOriginal (indexPairs (: 1));matchedDistorted = validPtsDistorted (indexPairs (:, 2));
显示的点匹配。
图;showMatchedFeatures(原始、扭曲、matchedOriginal matchedDistorted);标题(“推定地匹配点(包括异常值)”);
第四步:估计转换
找到一个使用统计变换对应匹配点对健壮M-estimator样品一致(MSAC)算法,它是一个变种的RANSAC算法。删除离群值而计算的变换矩阵。您可能会看到不同的结果转换计算,由于采用的随机抽样MSAC算法。
[tform, inlierIdx] = estimateGeometricTransform2D (…matchedDistorted matchedOriginal,“相似”);inlierDistorted = matchedDistorted (inlierIdx:);inlierOriginal = matchedOriginal (inlierIdx:);
显示匹配点对用于转换的计算。
图;showMatchedFeatures(原始、扭曲、inlierOriginal inlierDistorted);标题(“匹配点(仅内围层)”);传奇(“ptsOriginal”,“ptsDistorted”);
第五步:求解规模和角度
使用几何变换、tform恢复的规模和角度。因为我们计算转换从扭曲的原始图像,我们需要计算它的逆矩阵恢复失真。
让sc = * cos(θ)让学生= * sin(θ)
然后,Tinv = (sc - s 0;党卫军sc 0;tx泰1]
tx和泰x和y翻译,分别。
计算逆矩阵变换矩阵。
Tinv = tform.invert.T;党卫军= Tinv (2, 1);sc = Tinv (1,1);scaleRecovered =√党卫军* ss + sc * sc) thetaRecovered =量化(ss, sc) * 180 /π
scaleRecovered = 30.2351单0.7010 thetaRecovered =单
恢复值应该匹配您的比例和角度值中选择第二步:调整和旋转图像。
第六步:恢复原始图像
恢复原始图像通过改变扭曲的形象。
outputView = imref2d(大小(原始));恢复= imwarp (tform扭曲,“OutputView”,outputView);
比较恢复
来原始
通过观察他们并排在一个蒙太奇。
图,imshowpair(原始的,恢复,“蒙太奇”)
的恢复
(右)图像质量不匹配原始
(左)图像由于变形和恢复过程。特别是,图像缩小导致信息丢失。工件边缘将转换的精度有限。如果你发现更多的点第三步:找到图像之间匹配特性,转换会更准确。举个例子,我们可以使用一个角落探测器,detectFASTFeatures,补充的冲浪特征检测器发现斑点。图像内容和图像大小也影响检测的数量特征。