一、前言
此示例演示如何自动确定一对图像之间的几何变换。当一个图像因旋转和缩放而相对于另一个图像失真时,请使用 和 查找旋转角度和比例因子。然后,您可以转换扭曲的图像以恢复原始图像。
二、步骤 1:读取图像
将映像引入工作区。
三、第 2 步:调整图像大小和旋转图像
您可以通过改变输入图像的比例和旋转来进行实验。但是,请注意,在特征检测器无法找到足够的特征之前,您可以改变比例的数量是有限制的。
四、步骤 3:查找图像之间的匹配特征
检测两个图像中的特征。提取特征描述符。使用描述符匹配要素。检索每个图像的相应点的位置。显示推定的积分匹配。
五、步骤 4:估计转换
使用统计稳健的 M 估计器 SAmple 共识 (MSAC) 算法查找与匹配点对对应的转换,该算法是 RANSAC 算法的变体。它在计算转换矩阵时删除异常值。由于 MSAC 算法采用的随机采样,您可能会看到不同的转换计算结果。
显示转换计算中使用的匹配点对。
六、第 5 步:求解比例和角度
使用几何变换 tform 来恢复比例和角度。由于我们计算了从扭曲到原始图像的转换,因此我们需要计算其逆数以恢复失真。
计算逆变换矩阵。恢复的值应与在步骤 2:调整大小和旋转图像中选择的比例和角度值匹配。请注意,缩放和旋转角度在对象的“缩放”和“旋转角度”属性中也可用。
七、步骤6:恢复原始映像
通过转换扭曲的图像来恢复原始图像。与蒙太奇中并排看它们相比。
由于失真和恢复过程,(右)图像质量与(左)图像不匹配。特别是,图像缩小会导致信息丢失。边缘周围的伪影是由于变换的准确性有限造成的。如果要在步骤 3:查找图像之间的匹配要素中检测到更多点,则变换将更加准确。例如,我们可以使用角落检测器detectFASTFeatures来补充SURF特征检测器,该检测器可以发现斑点。图像内容和图像大小也会影响检测到的要素的数量。
八、程序
使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)
程序下载:基于matlab使用自动要素匹配查找图像旋转和缩放-Matlab文档类资源-CSDN文库