clc;
clear all;
X1=imread('cs1.jpg');
X1=double(X1)/256; %这里转化成 double 类型,否则使用小波变换输出
的会有大量大于 1 的存在,会导致图像显示有问题
% X1=rgb2gray(X1); %原本以为小波变换只能使用一维的,看来可以使用
3 维
!gure;
imshow(X1),title('左焦距');
axis square;
X2=imread('cs2.jpg');
X2=double(X2)/256;
% X2=rgb2gray(X2);
!gure;
imshow(X2),title('右焦距');
axis square;
[c1,s1]=wavedec2(X1,2,'sym4'); %将 x1 进行 2 维,使用‘sym4’进行变换
sizec1=size(c1);
for I=1:sizec1(2);
c1(I)=1.2*c1(I); 将分解后的值都扩大 1.2 倍
end
[c2,s2]=wavedec2(X2,2,'sym4');
c=c1+c2; %计算平均值
c=0.5*c;
s=s1+s2;
s=0.5*s;
xx=waverec2(c,s,'sym4'); %进行重构
!gure;
imshow(xx),title('融合后的');
axis square;