东北大学研究生考试试卷考试科目:现代信号处理理论和方法______________ 课程编号:_______________________________阅卷人:_________________________________考试日期:_________ 2011年11月24日________________ 姓名:________________ 朱学欢 _______________________ 学号:____________ 1101139 ___________________注意事项〔•考前研究生将上述项目填写清楚2•字迹要清楚,保持卷面清洁3•交卷时请将本试卷和题签一起上交东北大学研究生院基于MATLAB的图像融合方法姓名:朱学欢学号:1101139一、图像融合算法数字图像融合(Digital Image Fusion)是以图像为主要研究内容的数据融合技术,是把多个不同模式的图像传感器获得的同一场景的多幅图像或同一传感器在不同时刻获得的同一场景的多幅图像合成为一幅图像的过程。
由于不同模式的图像传感器的成像机理不同,工作电磁波的波长不同,所以不同图像传感器获得的同一场景的多幅图像之间具有信息的冗余性和互补性,经图像融合技术得到的合成图像则可以更全面、更精确地描述所研究的对象。
正是由于这一特点,图像融合技术现已广泛地应用于军事、遥感、计算机视觉、医学图像处理等领域中。
数字图像融合是图像分析的一项重要技术,其目的是将两幅或多幅图像拼接起来构成一副整体图像,以便于统一处理,该技术在数字地图拼接、全景图、虚拟现实等领域有着重要应用。
虽然Photoshop等图像处理软件提供了图像处理功能,可以通过拖放的方式进行图像拼接,但由于完全是手工操作,单挑乏味,且精度不高,因此,有必要寻找一种方便可行的图像融合方法。
Matlab具有强大的计算功能和丰富的工具箱函数,例如图像处理和小波工具箱包含了大多数经典算法,并且它提供了一个非常方便快捷的算法研究平台,可让用户把精力集中在算法而不是编程上,从而能大大提咼研究效率。
在图像融合中,参加融合的源图像是由不同的传感器或者是同一传感器在不同时刻得到的,所以在进行融合之前需要对图像进行配准和一些预处理操作。
在本实验中所提到的参加融合的图像都是经过了配准了的,图像融合的过程可以发生在信息描述的不同层。
聚九左边杵范It (b)寓M用僱竝舍技倉遵胯于勲钟机(») AW CT图倬ex詹M阳图偉側玄乌b的*售丼髭圈1-5图俅融令校*摩匿単上的庭周1、图像融合算法的层次分类图像融合系统的算法按层次结构划分可分为信号级、像素级、特征级和决策级。
信号级融合:是指合成一组传感器信号,目的是提供与原始信号形式相同但品质更高的信号。
像素级图像融合:是指直接对图像中像素点进行信息综合处理的过程,像素级图像融合的目的是生成一幅包含更多信息、更清晰的图像。
像素级图像融合属于较低层次的融合。
目前,大部分研究集中在该层次上。
像素层图像融合一般要求原始图像在空间上精准配准。
特征级图像融合:是指从各个传感器图像中提取特征信息,并将其进行综合分析和处理的过程。
提取的特征信息应是像素信息的充分表示量或充分统计量,典型的特征信息由边缘、形状、轮廓、角、纹理、相似亮度区域、相似景深区域等。
在进行融合处理时,所关心的主要特征信息的具体形式和内容与多传感器图像融合的应用目的\场合密切相关。
通过特征级图像融合可以在原始图像中挖掘相关特征信息、增加特征信息的可信度、排除虚假特征、建立新的复合特征等。
特征级图像融合是中间层次上的融合,为决策级融合做准备。
特征级融合对传感器对准要求不如信号级和像素级要求严格,因此图像传感器可分布于不同平台上。
特征级融合的优点在于可观的信息压缩,便于实时处理。
由于所提出的特征直接与决策分析有关,因而融合结果能最大限度地给出决策分析所需要的特征信息。
目前大多数C4I 系统的数据融合研究都是在该层次上展开的。
决策级图像融合:是指对每个图像的特征信息进行分类、识别等处理,形成相应的结果后,进行进一步的融合过程最终的决策结果是全局最优决策。
决策级融合是一种更高层次的信息融合,其结果将为各种控制或决策提供依据。
为此,决策级融合必须结合具体的应用及需求特点,有选择地利用特征级融合所抽取或测量的有关目标的各类特征信息,才能实现决策级融合的目的,其结果将直接影响最后的决策水平。
由于输入为各种特征信息,而结果为决策描述,因此决策级融合数据量最小,抗干扰能力强。
决策级融合的主要优点可概括为: ①通信及传输要求低,这是由其数据量少决定的;②容错性高,对于一个或若十个传感器的数据干扰,可以通过适当的融合方法予以消除;③数据要求低,传感器可以是同质或异质,对传感器的依赖性和要求降低;④分析能力强,能有效反映目标及环境的信息,满足不同应用的需要。
二、图像融合的常用方法研究1、加权平均法:最简单的图像融合方法是对两幅源图像A和B,图像大小为N1 X N2,经融合后得到的融合图像为F,那么对A、B两个源图像的灰度加权平均融合过程可表示为:F(n1, n2)=3 1A (n1,n2)+32B (n1,n2)式中:W1+W2=1W1 W2在不同类的图像融合当中,通过仿真确定他们的值。
当两幅图像很相似时,合成图像就采用两幅图的平均值也就是权值分别为0.5 和0.5;当两幅图像差异很大是,就选择最显著的那一幅图像,此时的权值为0 和1。
加权平均的融合方法具有实现简单,运行速度快和抑制噪声的优点。
但是同时也会抑制源图像中的某些显著性特征,因而融合图像的对比度较低,有可能出现褪色。
可以通过选择“最优”权值消除这些缺点。
主成分分析方法就是一种寻找使融合图像F的强度方差最大的权值Wa和Wb的方法。
2、HIS融合法HIS融合法在多传感器像素级融合方面应用较广,可以实现不同空间频率分辨率的图像之间的几何信息的叠加。
它首先将RGB颜色空间的3个波段的多光谱图像转化到HIS空间的3个量,即色调(H),亮度(I)、饱和度(S)。
亮度(I)代表空间信息,色调(H)代表光谱信息。
然后将高空间分辨率图像进行对比度拉伸,使它和亮度分量(I)有相同的直方图;最后用拉伸后的高空间分辨率图像代替亮度分量(I),把它同色调(H),饱和度(S)进行HIS逆变换得到融合图像。
例如:一低分辨率三波段图像与一高分辨率单波段图象进行融合处理。
这种方法将三个波段的低分辨率的数据通过HIS变换转换到HIS空间,同时将单波段高分辨率图象进行对比度拉伸以使其灰度的均值与方差和HIS空间中亮度分量图像一致,然后将拉伸过的高分辨率图象作为新的亮度分量代入HIS反变换到原始空间中。
这样获得的高分辨率彩色图像既具有较高空间分辨率,同时又具有与影像相同的色调和饱和度,有利于目视解译和计算机识别。
---------- --------------- L-------------------------------------------- « -------------1H5虫换]| IMS变换图1 1HS变换的实现过锐3、KL变换融合法KL变换融合法又称为主成分分析法。
与HIS变换法类似,它将低分辨率的图象(三个波段或更多)作为输入分量进行主成分分析,而将高分辨率图象拉伸使 其具有于第一主成分相同的均值和方差,然后用拉伸后的高分辨率影像代替主 成分变换的第一分量进行逆变换。
高空间分辨率数据与高光谱分辨率数据通过 融合得到的新的数据包含了源图像的高分辨率和高光谱分辨率特征,保留了原 图像的高频信息。
这样,融合图像上目标细部特征更加清晰,光谱信息更加丰 富。
4、高通滤波融合法高通滤波融合法将高分辨率图象中的边缘信息提取出来,加入到低分辨率高 光谱图像中。
首先,通过高通滤波器提取高分辨率图象中的高频分量,然后将 高通滤波结果加入到高光谱分辨率的图象中,形成高频特征信息突出的融合影 像。
5、小波变换融合法、利用离散的小波变换,将N 幅待融合的图像的每一幅分解成 M 幅子图象,然后 在每一级上对来自N 幅待融合图像的M 幅子图象进行融合,得到该级的融合图象。
在得到所有M 级的融合图像后,实施逆变换得到融合结果。
下面是依据图像融合的方法的几个例子,得到的结果分别如下图所示。
clear g_R=0; g_G=0; h_R=0; h_G=0; h_B=0;fenzi_R=0; fenzi_G=0; fenzi_B=0; fenmu_up_R=0; fenmu_up_G=0; fenmu_up_B=0; fenmu_low_R=0; fenmu_low_G=0; fenmu_low_B=0; tableR=[];tableG=[]; tableB=[]; up=imread('high.jpg'); low=imread('low.jpg'); figure(1) imshow(up); [M,N,color]=size(up);title ('加权-RGB 表示的高分辨率图像'); figure(2) imshow(low);title('加权-RGB 表示的低分辨率图像'); r=double(up(:,:,1)); g=double(up(:,:,2)); b=double(up(:,:,3)); r_low=double(low(:,:,1)); g_low=double(low(:,:,2)); b_low=double(low(:,:,3)); RGB(:,:,1)=0.5*r+0.5*r_low; RGB(:,:,2)=0.5*g+0.5*g_low; RGB(:,:,3)=0.5*b+0.5*b_low; R=RGB(:,:,1); G=RGB(:,:,2);B=RGB(:,:,3);RGB=uint8(round(RGB));%读图像%读 RGB 数值imshow(RGB)title('加权-RGB转化后的图像');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%% 下面是计算平均梯度G %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%for ii=1:M-1 for jj=1:N-1g_R=g_R+sqrt((((r(ii+1,jj)-r(ii,jj))A2+(r(ii,jj+1)-r(ii,jj)F2))/2); g_G=g_G+sqrt((((g(ii+1,jj)-g(ii,jj)F2+(g(ii,jj+1)-g(ii,jj))A2))/2); g_B=g_B+sqrt((((b(ii+1,jj)-b(ii,jj))A2+(b(ii,jj+1)-b(ii,jj))A2))/2);endendfprintf('\n\n highR 的清晰度为:%.4f\n highG 的清晰度为:%.4f\n highG 的清晰度为: %.4f',...g_R/(M-1)/(N-1),g_G/(M-1)/(N-1),g_B/(M-1)/(N-1));g_R=0;g_G=0;g_B=0;for ii=1:M-1 for jj=1:N-1g_R=g_R+sqrt((((r_low(ii+1,jj)-r_low(ii,jj))A2+(r_low(ii,jj+1)-r_low(ii,jj)F2))/2);g_G=g_G+sqrt((((g_low(ii+1,jj)-g_low(ii,jj)F2+(g_low(ii,jj+1)-g_low(ii,jj))A2))/2);g_B=g_B+sqrt((((b_low(ii+1,jj)-b_low(ii,jj))A2+(b_low(ii,jj+1)-b_low(ii,jj))A2))/2);endendfprintf('\n\n lowR 的清晰度为:%.4f\n lowG 的清晰度为:%.4f\n lowG 的清晰度为: %.4f',...g_R/(M-1)/(N-1),g_G/(M-1)/(N-1),g_B/(M-1)/(N-1));g_R=0;g_G=0;g_B=0;for jj=1:N-1 g_R=g_R+sqrt((((R(ii+1,jj)-R(ii,jj))A2+(R(ii,jj+1)-R(ii,jj))A2))/2); g_G=g_G+sqrt((((G(ii+1,jj)-G(ii,jj))A2+(G(ii,jj+1)-G(ii,jj))A2))/2); g_B=g_B+sqrt((((B(ii+1,jj)-B(ii,jj))A2+(B(ii,jj+1)-B(ii,jj))A2))/2);end end fprintf('\n\n resultR 的清晰度为:%.4f\n resultG 的清晰度为:%.4f\n resultG 的清晰度为%4f,...g_R/(M-1)/(N-1),g_G/(M-1)/(N-1),g_B/(M-1)/(N-1));低低-RGB低低低低低低低低低低低-RGB低低低低低低低低低clearg_R=O ; g_G=o ; g_B=0; h_R=0; h_G=0; h_B=O;u 仁zeros(3,1); u2=zeros(3,1); v11= zeros(3,1); v12=zeros(3,1); AA=zeros(3,3); BB=zeros(3,3);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AA=[1/sqrt(3),1/sqrt(3),1/sqrt(3);1/sqrt(6),1/sqrt(6),-2/sqrt(6); %RGB- >IHS 正变换矩阵1/sqrt(2),-1/sqrt (2),0];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% BB=[1/sqrt(3),1/sqrt(6),1/sqrt(2);1/sqrt(3),1/sqrt(6),-1/sqrt(2); %IHS->RGB 逆 变换矩阵 1/sqrt(3),-2/sqrt (6),0];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% RGB_up=imread('high.jpg'); %读图像RGB_low=imread('low.jpg');%r 清晰度描述 %g 清晰度描述 %b 清晰度描述 %熵的%高分辨率RGB 值 %低分辨率RGBfigure(1) imshow(RGB_up); title('IHS-RGB 表示的高分辨率图像 '); figure(2) imshow(RGB_low); title('IHS-RGB 表示的低分辨率图像 '); [M,N,color]=size(RGB_up); v12=BB*u2; RGB(i,j,1)=v12(1); RGB(i,j,2)=v12(2); RGB(i,j,3)=v12(3);end end %subplot(2,3,5); r=RGB(:,:,1); g=RGB(:,:,2); b=RGB(:,:,3); RGB=uint8(round(RGB)); figure(3) imshow(RGB);title('IHS-RGB 表示的转化图像 ');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%下面是计算清晰度G%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% for ii=1:M-1for jj=1:N-1g_R=g_R+sqrt((((r(ii+1,jj)-r(ii,jj))A2+(r(ii,jj+1)-r(ii,jj)F2))/2); g_G=g_G+sqrt((((g(ii+1,jj)-g(ii,jj)F2+(g(ii,jj+1)-g(ii,jj))A2))/2); g_B=g_B+sqrt((((b(ii+1,jj)-b(ii,jj))A2+(b(ii,jj+1)-b(ii,jj))A2))/2); end end fprintf('\n\nR 的清晰度为:%.4f\nG 的清晰度为:%.4f\nB 的清晰度为:%.4f,...g_R/(M-1)/(N-1),g_G/(M-1)/(N-1),g_B/(M-1)/(N-1));R_up=RGB_up(:,:,1); G_up=RGB_up(:,:,2); B_up=RGB_up(:,:,3);[hang,lie,color]=size(RGB_up); for i=1:hangfor j=1:liev11(1)=double(RGB_up(i,j,1)); v11(2)=double(RGB_up(i,j,2)); v11(3)=double(RGB_up(i,j,3)); v12(1)=double(RGB_low(i,j,1)); v12(2)=double(RGB_low(i,j,2)); v12(3)=double(RGB_low(i,j,3)); u1=AA*v11; u2=AA*v12; u2(1)=u1(1);定义 ????????%把函数类型 unit8 为 double 型%把函数类型 unit8 为 double 型 %正变换%交换空间明度%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%空%间%信%息明度%逆变换IHS-RGB表示豹转化图像。