基于MATLAB中IPT函数的一种遥感图像配准方法
2013-06-27张丽丽董云峰付保红郭险峰刘开绪
张丽丽,董云峰,付保红,郭险峰,刘开绪
(大庆师范学院物理与电气信息工程学院,黑龙江大庆163712)
基于MATLAB中IPT函数的一种遥感图像配准方法
张丽丽,董云峰,付保红,郭险峰,刘开绪
(大庆师范学院物理与电气信息工程学院,黑龙江大庆163712)
MATLAB的图像处理工具箱中有基于点特征图像配准的函数,首先对这些函数进行了详细介绍,并使用其完成了遥感图像的配准,之后提出了边缘检测的算法,与上述函数法进行结合,使特征点的提取难度降低,最后对该方法进行了分析,提出了下一步研究重点。
MATLAB;IPT;遥感图像;配准;边缘检测
0 引言
图像配准技术广泛应用于遥感图像处理、目标识别、医学影像分析、机器视觉以及三维重建等领域。在遥感领域,实现图像融合、变化检测、图像校正、图像镶嵌等应用中,图像配准都是必不可少的—个关键步骤[1]。
图像配准方法分为两类:基于图像灰度和基于图像特征。基于灰度的配准算法由于图像中所有的像素点均参与了计算,因此算法计算量大,运行效率低,不适用于大幅面遥感图像的配准。基于特征的配准算法首先提取图像中的显著特征(如角点、边缘、直线等)形成特征集,然后确定两幅图像特征集中各个特征的对应关系,计算出变换参数,从而实现图像的配准。这类算法仅利用了图像中的显著特征参与计算,因而能够降低噪声、灰度变化、形变和遮挡的影响,具有较强的适应力和抗干扰能力;减小了计算量,速度较快,因此在遥感图像配准领域获得了广泛应用。[2-3]
点特征是基于图像特征配准中最常用的特征之一,很多其他的特征提取方法最终都会统一到同名点的提取上。MATLAB以其强大的矩阵运算功能及丰富的图像处理函数等在图像处理方面占有明显的优势,在图像的几何运算方面,MATLAB的图像处理工具箱(ImageProcessing-Toolbox,简称IPT)提供了一些支持点映射的工具,其中的图像配准函数可以帮助研究人员把精力集中在算法研究上,而不是繁琐的程序的编写上,从而大大提高工作效率[4]。本文以MATLAB的图像处理工具箱的图像配准函数为基础,结合图像分割知识,提出一种简易的遥感图像配准方法。
1 基于点特征的遥感图像配准方法[5]
点特征具有运算量小、不损害图像重要的灰度信息等优点,因而能很好地提高图像的配准速度和精度。基于点特征的遥感图像配准方法一般包括图像预处理、特征点提取、同名点匹配、计算几何变换参数、图像变换和重采样5个部分。具体流程如图1所示。
2 基于IPT函数的遥感图像配准
2.1 IPT中图像配准相关函数[4]
在MATLAB工具箱中,可以用cpselect函数选取图像之间的控制点对,由cp2tform函数修正重叠部分的几何差异,由imtransform函数进行坐标转换,即cp2tform函数和imtransform函数结合使用完成图像的配准。
图1 图像配准流程
2.1.1 cpselect
如果没给定输入图像与参考图像之间的控制点对,就用cpselect函数显示图像界面,采取手动在两幅图像的重叠部分选取配准控制点,MATLAB自动进行亚像素分析。如果已给定控制点对,则省略本步骤。cpselect函数的基本调用语法为:
cpselect(g,,f,input_points,base_points)
其中的g代表待配准图像,f代表基准图像,input_points和base_points分别为待配准图像与基准图像上的初始控制点集和最终控制点集的保存变量,退出时input_points和base_points的值保存在系统的工作区(Work-space)中,便于后续程序调用。值得注意的是,控制点选择工具同时仅支持一个颜色通道,即控制点选择工具只能接受灰度图像,仅能将RGB或多波段图像的一个颜色分量传递给cpselect,最终的结果必须应用于图像的三个或多个颜色分量。
2.1.2 cp2tform
cp2tform函数是一个数据拟和函数,可以根据控制点对的几何关系判断变换参数,该函数将变换参数返回到类型为TFORM的几何变换结构变量tform中。cpselect函数的基本调用语法为:
tform=cp2tform(input_points,base_points,’transform-type’)
格式中,ransform-type为变换类型。可见,调用cp2tform函数时除了给定控制点信息外,还必须选择一种能够正确消除输入图像失真的变换类型。cp2tform函数支持六种空间变换类型,其中线性变换、仿射变换、投影变换和多项式变换是全局变换,这些变换对整幅图像应用同一个数学表达式;分段线性变换和局部权平均变换是局部变换,这两种变换将对图像的不同部分使用不同的数学表达式。在应用时根据图像之间的变形关系选择使用。
2.1.3 imtransform
在MATLAB中用IPT函数imtransform来完成一般的二维空间变换。该函数的基本调用语法为:
out=imtransform(g,tform,’interp’)
其中,out代表变换后输出图像,g代表待变换的图像,tform为一个指定变换类型的空间变换结构TFORM变量,interp是一个字符串,用来指明输入像素怎样插值来获得输出像素,可以是’nearest’(最邻近像素法),’biline-ar’(双线性插值法)或’bicubic’(双三次插值法),默认为’bilinear’。该函数将变换应用于输入图像的每一个颜色分量。
2.2 配准流程
实验原图像为福卫2号拍摄的上海地区影像,如下图所示,图2(a)是全色图像,其分辨率为2 m,裁剪成297×325像素大小;图2(b)是多光谱图像,其分辨率为8 m,裁剪成222×252像素大小。
2.2.1 读入基准图像pp2和待配准图像pp1
>>f=imread('pp2.jpg');
>>g=imread('pp1.jpg');
2.2.2 两幅图像控制点的选择
>>cpselect(g(:,:,1),f);
出现GUI界面,操作很简单,只需注意选点要均匀布开,以增加其代表性。选定完毕,File->Save Points toWorkspace将数据保存到工作区中。Workspace立刻多出两个N×2的数组(其中N为选定的匹配点对数),分别为input_points和base_points。
2.2.3 变换类型的选定和变换参数的计算
>>tform=cp2tform(input_points,base_points,'linear conformal');
这里选用线性正投影(linear conformal)变换。当输入输入图像与参考图像对比,只是存在全局的平移、旋转、缩放或其三者组合的差别时(正方形仍对应正方形),选择此配准方法。此方法至少需要2对匹配点。
其他的变换方法如下:
仿射(affine):将平行线转换成平行线。当输入图像形状存在切变现象(正方形对应平行四边形),选此法,至少需3对匹配点。
投影(projective):将直线映射成直线。如果输入图像呈现倾斜,翘起现象,选此法,至少需4对匹配点。
多项式(polynomial):将直线映射成曲线。如果输入图像出现不规则曲变,采用此法。Matlab中提供有2、3、4次幂的实现,分别至少需要6,10,10对匹配点。
分段线性(piecewise linear):如果输入图像的各个局部之间的退化模式明显不一样,选此法,至少需要4对匹配点。
局部加权平均(localweighted mean):与分段线性一致,但效果较之好。至少需要6对(推荐12对)匹配点。
2.2.4 待配准的图像进行变换和显示
>>out=imtransform(g,tform);
>>figure,imshow(out);
变换将应用于输入图像的每一个颜色分量。从图2中三幅图可见,配准后的图像与基准图像的方向取得了一致。
图2 图像配准变换
3 基于边缘检测的图像配准
在图像配准的过程中,特征点的提取是很关键的。特征点的分布要均匀,数量要足够,且同名点的匹配要正确,这才能保证图像配准的精度。上述基于MATLAB中IPT函数的配准方法最大的优点是操作简单,但特征点的提取工作量很大,而且误差也会较大,当处理大幅面的遥感图像时,这种问题会凸显。如果我们能将基准图像和待配准图像的边缘检测出来,特征点均在两图的边缘线上产生,这就会大大降低工作量,而精度也会有所提高。MATLAB图像处理工具箱中有边缘检测函数edge,所以基于边缘探测的遥感图像配准方法操作起来也很简单。操作语句如下:
>>CF=edge(f,'canny');
在这选用检测算子canny,除此之外还有若干边缘检测算子,如:算子log、算子roberts和算子prewitt等。将图2中的(a)和(b)的边缘检测出来,如图3(a)和(b)所示;图3(c)是从图3(a)和(b)上找出特征点,再将图2(b)按配准算法进行配准的结果。配准结果与图2(c)基本一致,但寻找特征点的过程确大大简化了。当处理大幅面的遥感图像时,会更加方便。如图4所示,图4(a)是海拉尔盆地贝尔凹陷大二段断裂分布图,图4(b)是海拉尔盆地贝尔凹陷大二段属性图,这两幅图如果在图上直接提取特征点难度较大;但是把其边缘检测出来,如图4(c)和图4(d)所示,在其边缘上提取特征点会比较容易,而且会较为精确。配准结果如图4(e)所示。
图3 基于边缘检测的图像配准
图4 基于基于边缘检测的大幅面图像配准
4 结束语
根据所处理图像特点的不同,配准方法也多种多样。本文提出的基于边缘检测的遥感图像配准方法操作简单,与传统的基于MATLAB中IPT函数的配准方法相比,工作量减少,精度提高;但该方法也是采用人机交互的方法选择特征点,精度还是不稳定,选择控制点时要特别细致。另外,虽然在选择控制点过程中MATLAB自动进行亚像素分析,但是在配准过程中对控制点的选择和最终的配准精度没有定量的精度评价,只能靠目视判读,评价只局限在定性上,给遥感图像定量应用带来不同程度的不确定性[4]。所以,在操作简单的基础上,能实现自动配准且对配准结果进行定量的评价是下一步研究的重点。
[1]张振,徐守时,胡俊华,等.基于局部特征的遥感图像快速自动配准[J].计算机工程与应用,2010,46(13):161-163.
[2]徐丽燕,张洁玉,孙巍巍,等.大幅面多光谱遥感图像快速自动配准[J].计算机科学,2012,39(2):61-65.
[3]宋芳,李勇,陈勇.多源遥感图像中的图像配准方法[J].激光杂志,2008,29(3):26-27.
[4]梁洪有,余涛,顾行发.基于MATLAB图像处理工具箱IPT函数的遥感图像配准[J].测绘与空间地理信息,2008,31(5):8-11.
[5]陈超,秦其明,江涛,等.一种改进的遥感图像配准方法[J].北京大学学报:自然科学版,2010(1):57-63.
A M ethod for Remote Sensing Image Registration Based on IPT Function of MATLAB
ZHANG Li-li,DONG Yun-feng,FU Bao-hong,GUO Xian-feng,LIU Kai-xu
(College of Physics and Electrical Information Engineering,Daqing Normal University,Daqing 163712,China)
The IPT(Image Processing Toolbox)of MATLAB provides the functions for image registration based on the character of points.This paper firstly introduced the IPT functions and implemented the remote sensing image registration based on them.After that a method of edge detection based on IPT functions is utilized to reduce complexity of extracting feature points.Finally,it analyzed themethod and put forward the work what need to do next.
MATLAB;IPT functions;remote sensing image;registration;edge detection
张丽丽(1981-),女,黑龙江大庆人,大庆师范学院物理与电气信息工程学院讲师,从事遥感图像处理研究。
黑龙江省教育厅科学技术研究资助项目(12533001)。
TP751
A
2095-0063(2013)06-0010-05
2013-08-21