matlab图像融合代码,图像融合+源代码+matlab

【实例简介】

【实例截图】

【核心代码】

小波融合代码:

%%  小波变换图像融合

[imA,map1]

= imread('A.tif');

M1 =

double(imA) / 256;

[imB,map2]

= imread('B.tif');

M2 =

double(imB) / 256;

zt=

4;

wtype =

'haar';

%    M1 - input image A

%    M2 - input image B

%    wtype使用的小波类型

%    Y  -

fused image

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%   小波变换的绝对值大的小波系数,对应着显著的亮度变化,也就是图像中的显著特征。所以,选择绝对值大的小波系数作为我们需要的小波系数。

%%   低频部分系数采用二者求平均的方法

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[c0,s0] =

wavedec2(M1, zt, wtype);%多尺度二维小波分解

[c1,s1] =

wavedec2(M2, zt, wtype);%多尺度二维小波分解

%%  取绝对值大的小波系数,作为融合后的小波系数

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

KK =

size(c1);

Coef_Fusion

= zeros(1,KK(2));

Temp =

zeros(1,2);

Coef_Fusion(1:s1(1,1))

= (c0(1:s1(1,1)) c1(1:s1(1,1)))/2;

%处理高频系数

MM1 = c0(s1(1,1) 1:KK(2));

MM2 = c1(s1(1,1) 1:KK(2));

mm = (abs(MM1)) > (abs(MM2));

Y  =

(mm.*MM1) ((~mm).*MM2);

Coef_Fusion(s1(1,1) 1:KK(2)) = Y;

%处理高频系数end

%重构

Y = waverec2(Coef_Fusion,s0,wtype);

%显示图像

subplot(2,2,1);imshow(M1);

colormap(gray);

title('

input image A ');

axis

square

subplot(2,2,2);imshow(M2);

colormap(gray);

title('

input image B ');

axis

square

subplot(223);imshow(Y,[]);

colormap(gray);

title('

fused image ');

axis

square;

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值