参数独立法进行图像融合
1.设置图像融合的方法:
Fusmeth = struct(‘name’,nameMETH,‘param’,paramMETH):
nameMETH:UD_fusion(上下融合)、DU_fusion(下上融合)、LR_fusion(左右融合)、RL_fusion(右左融合)、UserDFF(用户自定义融合)。
paramMETH:自定义函数名称。
2.利用wfusmat函数调用设置的融合方法进行融合。
C = wfusmat(A,B,METHOD);
返回矩阵A和B按照METHOD方法进行图像融合得到的结果C。
clear all; %清除空间变量
load mask; A = X;
load bust;
B = X;
%定义融合规则和调用函数名
Fus_Method = struct('name','userDEF','param','myfus_FUN');
%使用wfusmat设置图像融合方法
C = wfusmat(A,B,Fus_Method);
figure;
colormap(pink(220))
subplot(1,3,1), image(A), axis square
title('原始图像mask'),
subplot(1,3,2), image(C), axis square
title('融合图像'),
subplot(1,3,3), image(B), axis square
title('原始图像bust'),
自定义的融合方法myfus_FUN:
function C = myfus_FUN(A,B)
%定义融合规则
D = logical(triu(ones(size(A)))); %提取矩阵的下三角部分
t = 0.3; %设置融合比例
C = A; %设置融合图像的初始值为A
C(D) = t*A(D)+(1-t)*B(D); %融合后图像C的下三角融合规则
C(~D) = t*B(~D)+(1-t)*A(~D); %融合后图像Dd的上三角融合规则