一、前言
此示例演示如何使用基于特征的图像配准技术自动创建全景图。
特征检测和匹配是许多计算机视觉应用(如图像配准、跟踪和对象检测)中使用的强大技术。在此示例中,基于特征的技术用于自动拼接一组图像。图像拼接过程是基于特征的图像配准的扩展。不是注册一对图像,而是连续注册多个图像对,以形成全景图。
二、步骤 1 - 加载图像
此示例中使用的图像集包含建筑物的图片。这些是用未校准的智能手机摄像头拍摄的,通过沿着地平线从左到右扫描相机,捕捉建筑物的所有部分。
如下图所示,图像相对不受任何镜头畸变的影响,因此不需要相机校准。但是,如果存在镜头失真,则应在创建全景图之前校准相机并使图像不失真。
三、步骤 2 - 注册映像对
要创建全景图,请首先使用以下过程注册连续的图像对:
-
检测和匹配I(n)和I(n−1).
-
估计几何变换,T(n),即映射I(n)自I(n−1).
-
计算映射的转换I(n)进入全景图像作为T(1)∗T(2)∗.标记。标记。∗T(n−1)∗T(n).
此时,中的所有转换都是相对于第一个图像的。这是对图像注册过程进行编码的便捷方法,因为它允许对所有图像进行顺序处理。但是,使用第一张图像作为全景图的开始并不能产生最美观的全景图,因为它往往会扭曲构成全景图的大多数图像。通过修改变换,可以使场景中心失真最少,从而创建更好的全景图。这是通过反转中心图像的变换并将该变换应用于所有其他图像来实现的。
首先使用 projtform2d 方法查找每个转换的输出限制。然后,输出限制用于自动查找大致位于场景中心的图像。
接下来,计算每个变换的平均 X 限制并找到位于中心的图像。此处仅使用 X 限制,因为已知场景是水平的。如果使用另一组图像,则可能需要同时使用 X 和 Y 限制来查找中心图像。最后,将中心图像的逆变换应用于所有其他图像。
四、步骤 3 - 初始化全景图
现在,创建一个初始的、空的全景图,所有图像都映射到其中。
使用该方法计算所有转换的最小和最大输出限制。这些值用于自动计算全景图的大小。
五、步骤 4 - 创建全景图
使用 imwarp 将图像映射到全景图中并使用视觉。AlphaBlender将图像叠加在一起。
六、结论
此示例向您展示了如何使用基于特征的图像配准技术自动创建全景图。可以在示例中结合其他技术,以改善全景图像的混合和对齐。
七、程序
使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)
程序下载:基于matlab根据特征进行全景图像拼接资源-CSDN文库