基于SIFT和函数强制改正算法的图像拼接研究
2014-07-16赵洪宋潘地林
赵洪宋 潘地林
摘要:图像拼接技术被广泛应用于医学图像分析、计算机识别、遥感图像处理等各方面。针对在复杂场景下图像拼接时,SIFT算法出现误匹配点比例较大、算法迭代复杂等问题,使用RANSAC算法精确提纯且获得转换矩阵;并提出了一种改进的强制改正法,该方法采用渐入渐出的函数强制改正拼接缝两侧的灰度值,最终实现拼接缝的消除。实验表明,该方法可行、有效,并使拼接缝消除后具有较好的视觉效果。
关键词:图像拼接 ;SIFT算法;函数强制改正法;拼接缝消除
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2014)14-3372-04
Abstract: Image mosaic technology is widely used in many fields such as medical image analysis, computer recognition, remote sensing image processing, etc. In complex scenes, Considering the larger proportion of false matching points and more complex iteration when using SIFT algorithm to process image mosaic, the used RANSAC algorithm for purifying feature points accurately, and gets transition matrix. It proposed an improved hard correction method which used the fade in and fade out function to correct the gray value on both sides of seam-line, then removed the seam-line. Experiment shows that, the method is effective and easy to be realized.
Key words: image mosaic; sift algorithm ; function hard correction method ; seam-line removal
图像拼接技术[1]是将一组具有重叠部分的图像序列进行匹配对准,经重采样合成后形成一幅包含各图像序列信息的宽视角、高清晰的新图像,其主要包括图像配准和图像融合两个关键环节。图像配准是图像拼接技术的核心,其方法主要有基于灰度、基于特征的图像配准。基于灰度的图像配准具有精度高的优点,但其对图像的灰度变化、目标的旋转遮挡等比较敏感;同时其计算复杂度高。基于特征的图像配准减少了计算量;对灰度的变化、图像遮挡等都有较好的适应能力等优点,如Harris算法、SIFT算法和SUSAN算法[2-3]。图像融合是将各配准图像所含的信息有机地结合起来,产生一幅新图像,其方法有基于空域和变换域的图像融合。基于空域的图像融合包括加权平均法、Toet算法等,该方法简单直观,但只适用于有限的场合。基于变换域的图像融合包括多分辨率金字塔融合法、小波变换融合法等。
目前,图像拼接技术已广泛应用于地理信息系统、遥感图像处理、计算机识别和医学图像分析等领域。国内外研究者提出并设计了多种图像拼接方法,拼接技术日渐完善,但是绝大多数拼接方法把重点放在了提高图像的配准精度和配准速度上,对于两幅图像存在灰度差别时,拼接图像中出现明显的拼接缝研究较少。该文提出了一种基于SIFT算法和函数强制改正算法的图像拼接技术,对场景复杂图像利用SIFT算法完成图像拼接后,对拼接缝两侧的灰度值通过渐入渐出的函数强制改正像素灰度值以达到更好地消除拼接缝。
1 特征点提取与匹配
1.1 SIFT算法特征点提取
2004年Low提出了改进的SIFT算法完成图像序列特征点的提取[4],其实现主要包括尺度空间极值检测、关键点位置及尺度确定、关键点方向确定和特征向量生成。
1)尺度空间极值检测
一幅二维图像I(x, y)在不同尺度下的尺度空间表示为
[Lx,y,σ=Gx,y,σ?Ix,y]
式中,[Gx,y,σ]为高斯核函数,[σ]为尺度空间因子。为有效地检测出图像的特征点,使用差分高斯DOG极值作为依据。DOG算子定义为:
[Dx,y,σ=Gx,y,kσ-Gx,y,σ?Ix,y]
[Gx,y,σ]的构造方式如图1所示,每个像素与同一尺度的周围8个像素和相邻尺度对应位置的周围邻域9×2个像素共26个像素进行比较,当被检测点的DOG值大于此26个像素点或小于此26个像素点时,判定该点为极值点。
2)关键点位置及尺度确定
通过拟合三维二次函数从极值点中筛选出稳定的点作为图像的SIFT特征点。设[X=x,y,σ],对X的DOG函数进行泰勒级数展开为:
[Dx,y,σ=Dx0,y0,σ+?DT?XX+12XT?2DT?X2X]
令其一阶导数为零,求出特征点的精确位置[X],设对比度阈值为[Tc],如果[DX]的绝对值小于[Tc],则剔除该低对比度点。
对于边缘上的点根据主曲率比值大于一定阈值来剔除,为确保SIFT特征点的稳定性采用DoG函数D(x)的主曲率与2×2的Hessian矩阵H的特征值成正比。设主曲率比值阈值为[Ty],如果满足条件[Dxx+Dyy2DxxDyy-Dxy2≤Tγ+1Tγ2],则认为该点为特征点,从而去除边缘点。
3)关键点方向确定endprint
为使算子具有旋转不变性,利用关键点邻域像素的梯度分布特性来确定关键点的方向。以每个关键点为中心的邻域窗口内利用每注10°,共36注的直方图统计邻域像素的梯度分布。直方图的峰值为关键点所处邻域梯度的主方向。为增强匹配的鲁棒性,当存在某关键点的峰值大于等于主峰值80%能量时,添加该关键点为新的关键点。
4)特征向量生成
以关键点为中心取8×8的窗口,然后在每个2×2的小块上计算8个方向的梯度方向直方图的累加值,形成4×4共16个种子点。每个种子点有8个方向向量信息,则每个关键点形成128个SIFT特征向量。该特征向量可以去除尺度变化、旋转等几何变形因素的影响。将特征向量的长度归一化能够消除光照变化的影响。
1.2 RANSAC算法提纯匹配点
SIFT算法实现了图像特征点的粗匹配,考虑到由SIFT得到的匹配中存在误匹配对,因此,该文采用RANSAC算法[5]进一步消除误匹配来实现特征点的精确提纯。
首先从n个匹配点对中随机选取9对,检测第9个点是否为基本矩阵的支撑集。否,重新选择;是,计算所有匹配点对的极距离M。检测M和阈值L的大小,判断内点和外点,同时将外点剔除。利用这种方法可以减少误匹配的点。同时建立图像变换模型H实现图像的拼接。
2 图像融合
图像融合是图像拼接的关键环节,常用的融合方法有加权平均法、基于颜色空间变化法[6]、基于小波变换[7]的融合算法等。由于获取图像角度、光照等性质存在差异,图像拼接时产生明显的拼接缝。2002年朱述龙等提出了强制改正法[8]来消除拼接缝,继承强制改正法程红等提出基于曲线拟合的拼接缝消除方法[9]。该文提出了一种函数强制改正法,将经过SIFT算法处理后的图像采用渐入渐出的函数强制改正拼接缝两侧灰度以消除拼接缝。
2.1 强制改正法
该方法的思想是:首先将多幅影像进行几何镶嵌处理,形成整幅影像,然后判断每段剪裁线的方向,如图2所示。如果为垂直方向,则计算该段剪裁线左右两侧一定范围内的灰度差[Δg],将该灰度差[Δg]在剪裁线左右两侧的一定范围w内强制改正;如果为水平方向,则将剪裁线上下方向的灰度差强制改正。改正宽度w的大小与[Δg]成正比,则到拼接缝的距离为d的像素点的灰度值改正量[Δg']为:
[Δg'=w-dwΔg]
方向的确定通过直线的斜率来判定,如果斜率的绝对值小于等于1,判定该段剪裁线的方向为水平方向;否则,判定该段剪裁线的方向为垂直方向。
2.2 函数强制改正法
针对不同角度获取的图像,首先利用SIFT算法得到图像的特征点,然后经过RANSAC算法对所得匹配点对进行提纯,剔除误匹配点对。同时求出转换矩阵H确定重叠区域,进而得到拼接图像A,如图3所示,图像1的大小为M1×N1,在图像A中的行列偏移量分别为Yoffset+1、Xoffset+1。图像2大小为M2×N2,在图像A中行列偏移量分别为up、left。
以灰度图像的拼接缝垂直方向为例,该文算法步骤为:
首先求出拼接缝左右两侧一定范围内的灰度值x1,x2,其灰度值差d为
[d=x1-x2]
由于改正宽度与灰度差d成正比,则改正宽度w为:
[w=k?d]
其中,k为系数,为了增加消除拼接缝的效果同时不增加计算量,k的取值范围一般为1.2~2。
灰度改正时离拼接缝越远,灰度改正越小;离拼接缝越近,灰度改正越大,利用渐入渐出的三角函数消除拼接缝。在拼接缝的两侧2w范围内,像素点到拼接缝的距离为i,则该像素点的灰度改正值[d']为:
[d'x,y=sinπ2wi-w?d]
式中,w为改正宽度,d为拼接缝两侧的灰度差。
改正后的图像灰度值为
[Bx,y=Ax,y+dx,y]
然后对拼接缝周围列进行微调,如果拼接缝两侧图像灰度差较小,则根据灰度改正量对每个像素点进行改正;如果拼接缝两侧图像灰度差较大,则首先要利用直方图均衡化对两幅图像进行灰度的整体调整,将其灰度差缩小到100以内再进行拼接缝两侧灰度值的改正。最后将改正后的图像B与原图像A进行加权融合,得到新图像C。
[Cx,y=1-k?Ax,y+k?Bx,y]
式中,k为过度系数,由0逐渐变为1。
对于彩色图像,采用同样的方法分别对R、G、B三个分量的矩阵按照灰度图像的方法求出灰度改正量,然后将每个分量的改正图像与原图像进行加权融合以达到消除拼接缝的目的。
3 实验结果与分析
本文在Intel(R) Core(TM)2 Duo CPU E7300 @ 2.66GHz, 内存2.00GB的计算机,Matlab7.0的编程环境下,通过Canon数码相机获得学校红楼图像对其进行处理,首先对两幅图像通过SIFT算法进行匹配点匹配,再经过RANSAC算法提纯匹配点及经过转换矩阵得到拼接图像,同时找到拼接缝位置。然后,用灰度图像进行实验,以验证本文算法的有效性。 具体实验结果如图4~图5所示。
图4是两幅待拼接的灰度图像。图5中,图(a)是直接拼接后的原灰度图像,有明显的拼接缝;图(b)是强制改正法进行拼接后的灰度图像,从图中可以看出:灰度差大于10时拼接缝两侧亮度突变,图(c)是本文算法处理的结果,灰度差较大时拼接缝能够有效地消除,具有更好的视觉效果。
为了说明本文算法的有效性,对灰度图像的原图像、强制改正法和本文算法改正后图像的每一行拼接缝两侧改正范围内的灰度值变化曲线进行对比。以第200行像素为例,曲线变化对比结果如图6所示。
从图6中可以看出图像在618、619列产生拼接缝。强制改正法和本文算法均改变了图像灰度值,达到消除拼接缝的目的。但本文算法在改正范围内使灰度值变化趋势与原图像更接近且在拼接缝处的平滑效果更好。
4 结束语
本文首先利用SIFT算法对两幅不同角度的图像进行特征点提取和匹配,同时获得匹配点之间的转换矩阵以完成两幅图像的拼接。最后,提出了一种渐入渐出的函数强制改正法来实现拼接缝的消除。实验表明该算法简单快速、易于理解,有较强的鲁棒性且能有效消除因灰度差而形成的拼接缝,达到满意的视觉效果。
参考文献:
[1] 朱桂斌,孙奥.全景图像拼接技术研究现状综述[J].重庆工商大学学报:自然科学版,2012,29(12):60-65.
[2] 李欢欢,黄山,张洪斌.基于Harris与SIFT算法的自动图像拼接[J].计算机工程与科学,2012,34(11):104-108.
[3] 罗三定,贺俊耀.基于SURF和KLT跟踪的图像拼接算法[J].计算机工程,2010,36(1):216-217.
[4] LOWE D. Distinctive image features from scale-invariant key-points[J].International Journal of Computer Vision,2004,60(2):91-110.
[5] 赵小川.现代数字图像处理技术提高及应用案例详解[M].北京: 北京航空航天大学出版社,2012:160-163.
[6] 兰海滨,王平.基于角点检测的彩色图像拼接技术[J].计算机工程与设计,2009,30(14): 3422-3425.
[7] 欧书琴,李新华,孔颉,等.基于非下采样Contourlet变换的彩色图像拼接算法[J].计算机技术与发展,2010,20(11): 27-41.
[8] 朱述龙,钱曾波.遥感影像镶嵌时拼接缝的消除方法[J].遥感学报,2002,6(3):183-187.
[9] 程红,郑悦,孙文邦,等. 基于曲线拟合的拼接缝消除方法[J].光电工程,2013,40(5): 72-78.endprint
为使算子具有旋转不变性,利用关键点邻域像素的梯度分布特性来确定关键点的方向。以每个关键点为中心的邻域窗口内利用每注10°,共36注的直方图统计邻域像素的梯度分布。直方图的峰值为关键点所处邻域梯度的主方向。为增强匹配的鲁棒性,当存在某关键点的峰值大于等于主峰值80%能量时,添加该关键点为新的关键点。
4)特征向量生成
以关键点为中心取8×8的窗口,然后在每个2×2的小块上计算8个方向的梯度方向直方图的累加值,形成4×4共16个种子点。每个种子点有8个方向向量信息,则每个关键点形成128个SIFT特征向量。该特征向量可以去除尺度变化、旋转等几何变形因素的影响。将特征向量的长度归一化能够消除光照变化的影响。
1.2 RANSAC算法提纯匹配点
SIFT算法实现了图像特征点的粗匹配,考虑到由SIFT得到的匹配中存在误匹配对,因此,该文采用RANSAC算法[5]进一步消除误匹配来实现特征点的精确提纯。
首先从n个匹配点对中随机选取9对,检测第9个点是否为基本矩阵的支撑集。否,重新选择;是,计算所有匹配点对的极距离M。检测M和阈值L的大小,判断内点和外点,同时将外点剔除。利用这种方法可以减少误匹配的点。同时建立图像变换模型H实现图像的拼接。
2 图像融合
图像融合是图像拼接的关键环节,常用的融合方法有加权平均法、基于颜色空间变化法[6]、基于小波变换[7]的融合算法等。由于获取图像角度、光照等性质存在差异,图像拼接时产生明显的拼接缝。2002年朱述龙等提出了强制改正法[8]来消除拼接缝,继承强制改正法程红等提出基于曲线拟合的拼接缝消除方法[9]。该文提出了一种函数强制改正法,将经过SIFT算法处理后的图像采用渐入渐出的函数强制改正拼接缝两侧灰度以消除拼接缝。
2.1 强制改正法
该方法的思想是:首先将多幅影像进行几何镶嵌处理,形成整幅影像,然后判断每段剪裁线的方向,如图2所示。如果为垂直方向,则计算该段剪裁线左右两侧一定范围内的灰度差[Δg],将该灰度差[Δg]在剪裁线左右两侧的一定范围w内强制改正;如果为水平方向,则将剪裁线上下方向的灰度差强制改正。改正宽度w的大小与[Δg]成正比,则到拼接缝的距离为d的像素点的灰度值改正量[Δg']为:
[Δg'=w-dwΔg]
方向的确定通过直线的斜率来判定,如果斜率的绝对值小于等于1,判定该段剪裁线的方向为水平方向;否则,判定该段剪裁线的方向为垂直方向。
2.2 函数强制改正法
针对不同角度获取的图像,首先利用SIFT算法得到图像的特征点,然后经过RANSAC算法对所得匹配点对进行提纯,剔除误匹配点对。同时求出转换矩阵H确定重叠区域,进而得到拼接图像A,如图3所示,图像1的大小为M1×N1,在图像A中的行列偏移量分别为Yoffset+1、Xoffset+1。图像2大小为M2×N2,在图像A中行列偏移量分别为up、left。
以灰度图像的拼接缝垂直方向为例,该文算法步骤为:
首先求出拼接缝左右两侧一定范围内的灰度值x1,x2,其灰度值差d为
[d=x1-x2]
由于改正宽度与灰度差d成正比,则改正宽度w为:
[w=k?d]
其中,k为系数,为了增加消除拼接缝的效果同时不增加计算量,k的取值范围一般为1.2~2。
灰度改正时离拼接缝越远,灰度改正越小;离拼接缝越近,灰度改正越大,利用渐入渐出的三角函数消除拼接缝。在拼接缝的两侧2w范围内,像素点到拼接缝的距离为i,则该像素点的灰度改正值[d']为:
[d'x,y=sinπ2wi-w?d]
式中,w为改正宽度,d为拼接缝两侧的灰度差。
改正后的图像灰度值为
[Bx,y=Ax,y+dx,y]
然后对拼接缝周围列进行微调,如果拼接缝两侧图像灰度差较小,则根据灰度改正量对每个像素点进行改正;如果拼接缝两侧图像灰度差较大,则首先要利用直方图均衡化对两幅图像进行灰度的整体调整,将其灰度差缩小到100以内再进行拼接缝两侧灰度值的改正。最后将改正后的图像B与原图像A进行加权融合,得到新图像C。
[Cx,y=1-k?Ax,y+k?Bx,y]
式中,k为过度系数,由0逐渐变为1。
对于彩色图像,采用同样的方法分别对R、G、B三个分量的矩阵按照灰度图像的方法求出灰度改正量,然后将每个分量的改正图像与原图像进行加权融合以达到消除拼接缝的目的。
3 实验结果与分析
本文在Intel(R) Core(TM)2 Duo CPU E7300 @ 2.66GHz, 内存2.00GB的计算机,Matlab7.0的编程环境下,通过Canon数码相机获得学校红楼图像对其进行处理,首先对两幅图像通过SIFT算法进行匹配点匹配,再经过RANSAC算法提纯匹配点及经过转换矩阵得到拼接图像,同时找到拼接缝位置。然后,用灰度图像进行实验,以验证本文算法的有效性。 具体实验结果如图4~图5所示。
图4是两幅待拼接的灰度图像。图5中,图(a)是直接拼接后的原灰度图像,有明显的拼接缝;图(b)是强制改正法进行拼接后的灰度图像,从图中可以看出:灰度差大于10时拼接缝两侧亮度突变,图(c)是本文算法处理的结果,灰度差较大时拼接缝能够有效地消除,具有更好的视觉效果。
为了说明本文算法的有效性,对灰度图像的原图像、强制改正法和本文算法改正后图像的每一行拼接缝两侧改正范围内的灰度值变化曲线进行对比。以第200行像素为例,曲线变化对比结果如图6所示。
从图6中可以看出图像在618、619列产生拼接缝。强制改正法和本文算法均改变了图像灰度值,达到消除拼接缝的目的。但本文算法在改正范围内使灰度值变化趋势与原图像更接近且在拼接缝处的平滑效果更好。
4 结束语
本文首先利用SIFT算法对两幅不同角度的图像进行特征点提取和匹配,同时获得匹配点之间的转换矩阵以完成两幅图像的拼接。最后,提出了一种渐入渐出的函数强制改正法来实现拼接缝的消除。实验表明该算法简单快速、易于理解,有较强的鲁棒性且能有效消除因灰度差而形成的拼接缝,达到满意的视觉效果。
参考文献:
[1] 朱桂斌,孙奥.全景图像拼接技术研究现状综述[J].重庆工商大学学报:自然科学版,2012,29(12):60-65.
[2] 李欢欢,黄山,张洪斌.基于Harris与SIFT算法的自动图像拼接[J].计算机工程与科学,2012,34(11):104-108.
[3] 罗三定,贺俊耀.基于SURF和KLT跟踪的图像拼接算法[J].计算机工程,2010,36(1):216-217.
[4] LOWE D. Distinctive image features from scale-invariant key-points[J].International Journal of Computer Vision,2004,60(2):91-110.
[5] 赵小川.现代数字图像处理技术提高及应用案例详解[M].北京: 北京航空航天大学出版社,2012:160-163.
[6] 兰海滨,王平.基于角点检测的彩色图像拼接技术[J].计算机工程与设计,2009,30(14): 3422-3425.
[7] 欧书琴,李新华,孔颉,等.基于非下采样Contourlet变换的彩色图像拼接算法[J].计算机技术与发展,2010,20(11): 27-41.
[8] 朱述龙,钱曾波.遥感影像镶嵌时拼接缝的消除方法[J].遥感学报,2002,6(3):183-187.
[9] 程红,郑悦,孙文邦,等. 基于曲线拟合的拼接缝消除方法[J].光电工程,2013,40(5): 72-78.endprint
为使算子具有旋转不变性,利用关键点邻域像素的梯度分布特性来确定关键点的方向。以每个关键点为中心的邻域窗口内利用每注10°,共36注的直方图统计邻域像素的梯度分布。直方图的峰值为关键点所处邻域梯度的主方向。为增强匹配的鲁棒性,当存在某关键点的峰值大于等于主峰值80%能量时,添加该关键点为新的关键点。
4)特征向量生成
以关键点为中心取8×8的窗口,然后在每个2×2的小块上计算8个方向的梯度方向直方图的累加值,形成4×4共16个种子点。每个种子点有8个方向向量信息,则每个关键点形成128个SIFT特征向量。该特征向量可以去除尺度变化、旋转等几何变形因素的影响。将特征向量的长度归一化能够消除光照变化的影响。
1.2 RANSAC算法提纯匹配点
SIFT算法实现了图像特征点的粗匹配,考虑到由SIFT得到的匹配中存在误匹配对,因此,该文采用RANSAC算法[5]进一步消除误匹配来实现特征点的精确提纯。
首先从n个匹配点对中随机选取9对,检测第9个点是否为基本矩阵的支撑集。否,重新选择;是,计算所有匹配点对的极距离M。检测M和阈值L的大小,判断内点和外点,同时将外点剔除。利用这种方法可以减少误匹配的点。同时建立图像变换模型H实现图像的拼接。
2 图像融合
图像融合是图像拼接的关键环节,常用的融合方法有加权平均法、基于颜色空间变化法[6]、基于小波变换[7]的融合算法等。由于获取图像角度、光照等性质存在差异,图像拼接时产生明显的拼接缝。2002年朱述龙等提出了强制改正法[8]来消除拼接缝,继承强制改正法程红等提出基于曲线拟合的拼接缝消除方法[9]。该文提出了一种函数强制改正法,将经过SIFT算法处理后的图像采用渐入渐出的函数强制改正拼接缝两侧灰度以消除拼接缝。
2.1 强制改正法
该方法的思想是:首先将多幅影像进行几何镶嵌处理,形成整幅影像,然后判断每段剪裁线的方向,如图2所示。如果为垂直方向,则计算该段剪裁线左右两侧一定范围内的灰度差[Δg],将该灰度差[Δg]在剪裁线左右两侧的一定范围w内强制改正;如果为水平方向,则将剪裁线上下方向的灰度差强制改正。改正宽度w的大小与[Δg]成正比,则到拼接缝的距离为d的像素点的灰度值改正量[Δg']为:
[Δg'=w-dwΔg]
方向的确定通过直线的斜率来判定,如果斜率的绝对值小于等于1,判定该段剪裁线的方向为水平方向;否则,判定该段剪裁线的方向为垂直方向。
2.2 函数强制改正法
针对不同角度获取的图像,首先利用SIFT算法得到图像的特征点,然后经过RANSAC算法对所得匹配点对进行提纯,剔除误匹配点对。同时求出转换矩阵H确定重叠区域,进而得到拼接图像A,如图3所示,图像1的大小为M1×N1,在图像A中的行列偏移量分别为Yoffset+1、Xoffset+1。图像2大小为M2×N2,在图像A中行列偏移量分别为up、left。
以灰度图像的拼接缝垂直方向为例,该文算法步骤为:
首先求出拼接缝左右两侧一定范围内的灰度值x1,x2,其灰度值差d为
[d=x1-x2]
由于改正宽度与灰度差d成正比,则改正宽度w为:
[w=k?d]
其中,k为系数,为了增加消除拼接缝的效果同时不增加计算量,k的取值范围一般为1.2~2。
灰度改正时离拼接缝越远,灰度改正越小;离拼接缝越近,灰度改正越大,利用渐入渐出的三角函数消除拼接缝。在拼接缝的两侧2w范围内,像素点到拼接缝的距离为i,则该像素点的灰度改正值[d']为:
[d'x,y=sinπ2wi-w?d]
式中,w为改正宽度,d为拼接缝两侧的灰度差。
改正后的图像灰度值为
[Bx,y=Ax,y+dx,y]
然后对拼接缝周围列进行微调,如果拼接缝两侧图像灰度差较小,则根据灰度改正量对每个像素点进行改正;如果拼接缝两侧图像灰度差较大,则首先要利用直方图均衡化对两幅图像进行灰度的整体调整,将其灰度差缩小到100以内再进行拼接缝两侧灰度值的改正。最后将改正后的图像B与原图像A进行加权融合,得到新图像C。
[Cx,y=1-k?Ax,y+k?Bx,y]
式中,k为过度系数,由0逐渐变为1。
对于彩色图像,采用同样的方法分别对R、G、B三个分量的矩阵按照灰度图像的方法求出灰度改正量,然后将每个分量的改正图像与原图像进行加权融合以达到消除拼接缝的目的。
3 实验结果与分析
本文在Intel(R) Core(TM)2 Duo CPU E7300 @ 2.66GHz, 内存2.00GB的计算机,Matlab7.0的编程环境下,通过Canon数码相机获得学校红楼图像对其进行处理,首先对两幅图像通过SIFT算法进行匹配点匹配,再经过RANSAC算法提纯匹配点及经过转换矩阵得到拼接图像,同时找到拼接缝位置。然后,用灰度图像进行实验,以验证本文算法的有效性。 具体实验结果如图4~图5所示。
图4是两幅待拼接的灰度图像。图5中,图(a)是直接拼接后的原灰度图像,有明显的拼接缝;图(b)是强制改正法进行拼接后的灰度图像,从图中可以看出:灰度差大于10时拼接缝两侧亮度突变,图(c)是本文算法处理的结果,灰度差较大时拼接缝能够有效地消除,具有更好的视觉效果。
为了说明本文算法的有效性,对灰度图像的原图像、强制改正法和本文算法改正后图像的每一行拼接缝两侧改正范围内的灰度值变化曲线进行对比。以第200行像素为例,曲线变化对比结果如图6所示。
从图6中可以看出图像在618、619列产生拼接缝。强制改正法和本文算法均改变了图像灰度值,达到消除拼接缝的目的。但本文算法在改正范围内使灰度值变化趋势与原图像更接近且在拼接缝处的平滑效果更好。
4 结束语
本文首先利用SIFT算法对两幅不同角度的图像进行特征点提取和匹配,同时获得匹配点之间的转换矩阵以完成两幅图像的拼接。最后,提出了一种渐入渐出的函数强制改正法来实现拼接缝的消除。实验表明该算法简单快速、易于理解,有较强的鲁棒性且能有效消除因灰度差而形成的拼接缝,达到满意的视觉效果。
参考文献:
[1] 朱桂斌,孙奥.全景图像拼接技术研究现状综述[J].重庆工商大学学报:自然科学版,2012,29(12):60-65.
[2] 李欢欢,黄山,张洪斌.基于Harris与SIFT算法的自动图像拼接[J].计算机工程与科学,2012,34(11):104-108.
[3] 罗三定,贺俊耀.基于SURF和KLT跟踪的图像拼接算法[J].计算机工程,2010,36(1):216-217.
[4] LOWE D. Distinctive image features from scale-invariant key-points[J].International Journal of Computer Vision,2004,60(2):91-110.
[5] 赵小川.现代数字图像处理技术提高及应用案例详解[M].北京: 北京航空航天大学出版社,2012:160-163.
[6] 兰海滨,王平.基于角点检测的彩色图像拼接技术[J].计算机工程与设计,2009,30(14): 3422-3425.
[7] 欧书琴,李新华,孔颉,等.基于非下采样Contourlet变换的彩色图像拼接算法[J].计算机技术与发展,2010,20(11): 27-41.
[8] 朱述龙,钱曾波.遥感影像镶嵌时拼接缝的消除方法[J].遥感学报,2002,6(3):183-187.
[9] 程红,郑悦,孙文邦,等. 基于曲线拟合的拼接缝消除方法[J].光电工程,2013,40(5): 72-78.endprint