本文说明的内容是图像拼接,采用基于特征点的匹配方法将两张定点拍摄的照片进行拼接,合成一张图,将全景图生成简化成两张图片的拼接,具体可以分为以下几点:
掌握图像灰度化、图像投影变换、图像特征点提取、图像仿射矩阵变换及图像融合。
1、在数字图像的预处理中,灰度图像是进行图像识别与处理的基础。彩色图像转换为灰度图像的方法主要有平均值法、最大值法和加权平均值法。
2、图像的投影变换也是图像拼接不可或缺的过程,待拼接的图像素材往往不在一个坐标系下,直接拼接会因为角度的问题导致景物扭曲变形,目前普遍的方式是将图像投影到几何体表面上,如球面,立方体或柱面上。
3、特征点是进行本图像匹配方法的基础,质量的好坏将直接影响匹配的精度和效率,特征点应具有旋转、平移不变形等特性,保证不会因为相机的曝光等原因造成图像的错误匹配。
4、图像特征点提取之后,需要根据特征点计算图像的放射矩阵,从而对图像进行变换而实现拼接。放射变换的过程中,插值的方法确保图像不失真。
5、图像拼接完成后,最后需要将图像融合,使两幅图像不会因为曝光等原因造成可视的匹配错误。
图1 基于特征点图像拼接步骤
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
详细步骤:
1、图像的灰度化
在图像处理中,灰度化一直作为预处理的一部分,有时不仅仅是算法的需要,也是将三维降成一维从而减小计算量与增加运行速度的重要方法。彩色图像转换为灰度图像的方法有平均值法、最大值法及加权平均值法,其转换公式为:
平均值法,gray=(R+G+B)/3;
最大值法,gray=max(R,G,B)
加权平均值法,gray=(R×0.3+G×0.59+B×0.11)
其中 R、G、B 为红、绿、蓝分量,gray 为转换后的灰度值。本程序中采用matlab自带的rgb2gray函数,该函数是用加权平均值法计算的。
2、投影到柱面
图像投影是将待拼接的两幅图像投影到同一个坐标系下,这样能避免因角度问题引起图像中景物扭曲变换,可以分为球面投影、柱面投影、立方体投影。理论上,球面投影更加科学,但是球面投影带来的弊端是储存方式,所以柱面投影往往用的是更多的,柱面张开后是矩形,在数据存储方面具有优势。本方案采用柱面投影的方法,以下是投影公式:
图2 柱面投影几何关系示意图
其中: