stitching_detail程序运行流程....9
stitching_detail程序接口介绍....9
全景视图是指在一个固定的观察点,能够提供水平方向上方位角360度,垂直方向上180度的自由浏览 (简化的全景只能提供水平方向360度的浏览)。
目前市场中的全景摄像机主要分为两种:鱼眼全景摄像机和多镜头全景摄像机。鱼眼全景摄像机是由单传感器配套特殊的超广角鱼眼镜头,并依赖图像校正技术还原图像的鱼眼全景摄像机。鱼眼全景摄像机最终生成的全景图像即使经过校正也依然存在一定程度的失真和不自然。多镜头全景摄像机可以避免鱼眼镜头图像失真的缺点,但是或多或少也会存在融合边缘效果不真实、角度有偏差或分割融合后有"附加"感的缺撼。
本文档中根据目前所查找到的资料,对多镜头全景视图拼接算法原理进行简要的介绍。
通过相机取得图像。通常需要根据失真较大的鱼眼镜头和失真较小的窄视角镜头决定算法处理方式。单镜头和多镜头相机在算法处理上也会有一定差别。
若相机镜头为鱼眼镜头,则图像需要进行特定的畸变展开处理。
根据素材图片中相互重叠的部分估算图片间匹配关系。主要匹配方式分两种:
A.与特征无关的匹配方式。最常见的即为相关性匹配。
B.根据特征进行匹配的方式。最常见的即为根据SIFT,SURF等素材图片中局部特征点,匹配相邻图片中的特征点,估算图像间投影变换矩阵。
2.4图片拼接
根据步骤2.3所得图片相互关系,将相邻图片拼接至一起。
对拼接得到的全景图进行融合处理。
将合成后的全景图投射至球面、柱面或立方体上并建立合适的视点,实现全方位的视图浏览。
图1:opencv stitching模块进行图像拼接的处理流程
(部分步骤可选)
由于鱼眼镜头和常规镜头在生成全景图方面存在很大差异,其校正算法完全不同,因此需分开讨论。但是校正后的图像进行拼接步骤时的处理方法一定程度上可通用。
A.单常规镜头拍摄多张图片方式(手持)
该方式很常见,在目前多种手机上均有相关全景功能。
B.多个常规镜头组成的相机(或单镜头旋转扫描方式)
若为鱼眼镜头采集的到的图像,必须对图像进行矫正。鱼眼镜头图像校正算法通常有两种:一种是球面坐标定位法,一种是经纬映射法。具体推导过程见参考资料【1】《鱼眼照片生成全景图算法的研究与实现》,矫正效果如下图所示:
3.3图片匹配
与特征无关的匹配方式常见的为相关性匹配,一般都用于没有复杂变换的图像拼接情况下。该方式计算简单,仅为普通的灰度模板匹配。具体细节见参考文档【2】《全景图生成技术研究》。
3.3.2根据特征进行匹配的方式
基于特征的匹配首先从图像上选取特征信息,然后识别出两幅图像对应的特征信息。常用的特征信息有特征轮廓,特征曲线,特征点,多采用特征点匹配法。
进行特征点匹配的第一步是提取所有素材图片的局部特征点。普遍来讲,一张图片所包含的特征点通常就是周围含有较大信息量的点,而仅通过这些富有特征的局部,基本就可以推测出整张图片。常见的特征点包括SIFT,FAST,SURF等。
网友评论