资源简介

matlab图像融合:brovey变换、PCA变换、乘积变换、HSI变换方式。

资源截图

代码片段和文件信息

function [ Result ] = Image_Fusion( K_PanK_Mul )
% 此函数用于图像融合
% K_Pan和K_Mul分别为待融合的全色图像与多光谱图像
% Result为融合之后的结果
 
A1=double(K_Pan);
A2=double(K_Mul);
[RowColThi]=size(A2);
Result=zeros(RowColThi);

% 选择要执行的操作
str={‘Brovey变换‘‘乘积变换‘‘PCA变换‘‘HSI变换‘};
[selok]=listdlg(‘Liststring‘str‘PromptString‘‘请选择融合算法 ‘ ‘SelectionMode‘‘single‘);  

% brovey变换
if sel==1
   B=zeros(RowCol);
   for i=1:Thi
       B=A2(::i)+B;
   end
   for i=1:Thi
       C(::i)=A1.*A2(::i)./(B+eps);
   end
   C(B==0)=0;
   
   for i=1:Thi
       d=max(max(C(::i)));
       Result(::i)=C(::i)/d;
   end

% 乘积变换
elseif sel==2
   for i=1:Thi
       C(::i)=A1.*A2(::i);
   end
   for i=1:Thi
       d=max(max(C(::i)));
       Result(::i)=C(::i)/d;
  

评论

共有 条评论