全景拼接

本文详细介绍了全景图生成的图像缝合过程,包括映射模型选择、特征点提取与匹配、图像Warp变换、色差调整和图像融合。重点讨论了不同映射模型的适用场景,以及OpenCV的Stitching模块在图像拼接中的应用。
摘要由CSDN通过智能技术生成

        图像和视频缝合 在全景图生成、360°全景相机以及VR全景领域有非常多的应用,常用的图像缝合工具有Microsoft的ICE、PTGui、开源软件Hugin等,基于视频的拼接可以参考VideoStitch、StitcHD (github.com/lukeyeager/StitcHD)以及stitching_with_cuda。

        图像缝合的算法步骤可以描述为:

Step1. 定义映射模型,常用的包括:球面、柱面、平面,其中球面映射应用最为广泛;

Step2. 根据输入图像,提取特征点,对特征进行匹配,得到输入图像之间的映射关系T;

Step3. 根据映射关系T进行图像的Warp变换,对齐图像;

Step4. 包括利用颜色调整来消除图像间的色差,和采用图像融合来消除拼缝。

        算法流程图描述为:


        我们对算法每一步进行展开,并在此基础上进行讨论。

•   映射模型

        映射模型可以看作是用于图像映射的载体,相当于二维图像映射到三维空间的一种变换,如下图所示:


        其对应缝合效果如下图所示:

        选择合适的映射模型非常重要,需要与你的图像采集场景以及应用方式相匹配,一般对于水平拼接,采用柱面映射描

压缩包中包含的具体内容: 对给定数据中的6个不同场景图像,进行全景拼接操作,具体要求如下: (1) 寻找关键点,获取关键点的位置和尺度信息(DoG检测子已由KeypointDetect文件夹中的detect_features_DoG.m文件实现;请参照该算子,自行编写程序实现Harris-Laplacian检测子)。 (2) 在每一幅图像中,对每个关键点提取待拼接图像的SIFT描述子(编辑SIFTDescriptor.m文件实现该操作,运行EvaluateSIFTDescriptor.m文件检查实现结果)。 (3) 比较来自两幅不同图像的SIFT描述子,寻找匹配关键点(编辑SIFTSimpleMatcher.m文件计算两幅图像SIFT描述子间的Euclidean距离,实现该操作,运行EvaluateSIFTMatcher.m文件检查实现结果)。 (4) 基于图像中的匹配关键点,对两幅图像进行配准。请分别采用最小二乘方法(编辑ComputeAffineMatrix.m文件实现该操作,运行EvaluateAffineMatrix.m文件检查实现结果)和RANSAC方法估计两幅图像间的变换矩阵(编辑RANSACFit.m 文件中的ComputeError()函数实现该操作,运行TransformationTester.m文件检查实现结果)。 (5) 基于变换矩阵,对其中一幅图像进行变换处理,将其与另一幅图像进行拼接。 (6) 对同一场景的多幅图像进行上述操作,实现场景的全景拼接(编辑MultipleStitch.m文件中的makeTransformToReferenceFrame函数实现该操作)。可以运行StitchTester.m查看拼接结果。 (7) 请比较DoG检测子和Harris-Laplacian检测子的实验结果。图像拼接的效果对实验数据中的几个场景效果不同,请分析原因。 已经实现这些功能,并且编译运行均不报错!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值