求基于小波变换的图像融合Matlab算法

2024-11-07 21:31:27
推荐回答(1个)
回答1:

clear % 清理工作空间
load woman; % 装入原图像
X1=X; % 复制
map1=map; % 复制
figure; % 新建窗口
image(X1); % 显示图像
colormap(map1); % 设置色彩索引图
title('woman'); % 设置图像标题
axis square % 画出woman 图像
load wbarb; % 装入原图像
X2=X; % 复制
map2=map; % 复制
for I =1:256
for j=1:256
if(X2(I, j)>100)
X2(I, j)=1.2*X2(I, j);
else
X2(I, j)=0.5*X2(I, j);
end
end
end
figure; % 新建窗口
image(X2); % 显示图像
colormap(map2); % 设置色彩索引图
title('wbarb'); % 设置图像标题
axis square % 设置显示比例
[c1,s1]=wavedec2(X1,2,'sym4'); % 分解
sizec1=size(c1);
for I=1:sizec1(2) % 系数处理
c1(I)=1.2*c1(I);
end
[c2,s2]=wavedec2(X2,2,'sym4'); % 分解
c=c1+c2; % 系数处理
c=0.5*c;
xx=waverec2(c,s1,'sym4'); % 重构
figure; % 新建窗口
image(xx); % 显示图像
colormap(map); % 设置色彩索引图
title('融合图像'); % 设置图像标题
axis square % 设置显示比例

%下面这个是利用图像融合的 方法从模糊图像中恢复图像

load cathe_1; % 调入第一幅模糊图像
X1=X; % 复制
load cathe_2; % 调入第二幅模糊图像
X2=X; % 复制
XFUS=wfusimg(X1,X2,'sym4',5,'max','max'); %基于小波分解的图像融合
figure; % 新建窗口
image(X1); % 显示图像
colormap(map); % 设置色彩索引图
axis square; % 设置显示比例
title(' Catherine 1'); % 设置图像标题
figure; % 新建窗口
image(X2); % 显示图像
colormap(map); % 设置色彩索引图
axis square; % 设置显示比例
title(' Catherine 2'); % 设置图像标题
figure; % 新建窗口
image(XFUS); % 显示图像
colormap(map); % 设置色彩索引图
axis square; % 设置显示比例
title('Synthesized image'); % 设置图像标题