基于matlab使用自动要素匹配查找图像旋转和缩放(附源码)

news/2024/11/20 1:35:37/

一、前言

此示例演示如何自动确定一对图像之间的几何变换。当一个图像因旋转和缩放而相对于另一个图像失真时,请使用 和 查找旋转角度和比例因子。然后,您可以转换扭曲的图像以恢复原始图像。

二、步骤 1:读取图像

将映像引入工作区。

三、第 2 步:调整图像大小和旋转图像

您可以通过改变输入图像的比例和旋转来进行实验。但是,请注意,在特征检测器无法找到足够的特征之前,您可以改变比例的数量是有限制的。

四、步骤 3:查找图像之间的匹配特征

检测两个图像中的特征。提取特征描述符。使用描述符匹配要素。检索每个图像的相应点的位置。显示推定的积分匹配。

五、步骤 4:估计转换

使用统计稳健的 M 估计器 SAmple 共识 (MSAC) 算法查找与匹配点对对应的转换,该算法是 RANSAC 算法的变体。它在计算转换矩阵时删除异常值。由于 MSAC 算法采用的随机采样,您可能会看到不同的转换计算结果。

显示转换计算中使用的匹配点对。

六、第 5 步:求解比例和角度

使用几何变换 tform 来恢复比例和角度。由于我们计算了从扭曲到原始图像的转换,因此我们需要计算其逆数以恢复失真。

计算逆变换矩阵。恢复的值应与在步骤 2:调整大小和旋转图像中选择的比例和角度值匹配。请注意,缩放和旋转角度在对象的“缩放”和“旋转角度”属性中也可用。

七、步骤6:恢复原始映像

通过转换扭曲的图像来恢复原始图像。与蒙太奇中并排看它们相比。

由于失真和恢复过程,(右)图像质量与(左)图像不匹配。特别是,图像缩小会导致信息丢失。边缘周围的伪影是由于变换的准确性有限造成的。如果要在步骤 3:查找图像之间的匹配要素中检测到更多点,则变换将更加准确。例如,我们可以使用角落检测器detectFASTFeatures来补充SURF特征检测器,该检测器可以发现斑点。图像内容和图像大小也会影响检测到的要素的数量。

八、程序

使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)

程序下载:基于matlab使用自动要素匹配查找图像旋转和缩放-Matlab文档类资源-CSDN文库


http://www.ppmy.cn/news/634038.html

相关文章

C# 调用 dll 文件

一、先使用C来创建一个 .dll 文件 1、创建新项目:CreateDll01 2、选择 “动态链接库(.dll)” 文件 3、在 CreateDll01.cpp 源文件中添加如下代码 // CreateDll01.cpp : 定义 DLL 应用程序的导出函数。 //#include "stdafx.h"extern "C" __decl…

libcef.dll文件丢失怎么办?丢失对电脑有什么影响?

提到电脑中的系统文件可能大家都是不太了解的,毕竟平时使用电脑的时候也接触不到那些复杂的文件,最多大家只会使用电脑上面的各种功能,不过虽然接触不到但是大家也要适当的了解一下,就比如libcef.dll文件丢失了就会造成电脑系统出…

msdia80.dll是什么文件?msdia80.dll文件缺失怎么修复?

最近有挺多小伙伴提到一个问题,那就是msdia80.dll是什么文件?因为他们在打游戏或者是打开一些程序的时候,突然弹出一个msdia80.dll丢失的窗口,然后游戏或者程序就打不开了,只能干瞪眼。其实这种情况也是属于dll文件丢失…

dll文件保存到服务器,dll是什么文件?dll文件怎么打开?

dll是Dynamic Link Library的简称,意为动态链接库。dll文件一般被储放在C:WindowsSystem目录下。在Windows中,很多应用软件并并不是一个详细的可实行文件,他们被切分成一些相对性单独的动态链接库,即dll文件,置放于系统…

DLL文件是什么?有几种调用方式?

一、DLL文件是什么? DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库&#xff0c…

什么是dll文件

动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL),是微软公司在微软Windows操作系统中,实现共享函数库概念的一种方式。这些库函数的扩展名是 ”.dll"、".ocx"(包含…

dll简介

DLL是Dynamic Link Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL 文件,放置于系统中。当我们执行某一个程序时,相应的…

DLL是什么文件

DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。DLL多数情况下是带有DLL扩展名的文件,但也可能是E…