资源简介

用MATLAB实现两幅图像的融合的源程序。xercise1:为基于小波变化与局部能量的图像融合方法 exercise2:为基于自适应算法的图像融合算法 myfunction1~myfunction5:为性能指标评价函数

资源截图

代码片段和文件信息

%图象融合(基于小波变化与局部能量)
clear;
clear;
Y=imread(‘clockA-t.jpg‘); %装入原图像
J = imnoise(Y ‘gaussian‘);
%对图形的一半加高斯噪声
% Y=rgb2gray(Y);
%  Y=double(Y)/255;
% figure;
subplot(221)
imshow(Y);
% Y=double(Y)/255;
X1=double(Y)/255;
% a(::1)=Y(1:2561:1281);
% a(::2)=Y(1:2561:1282);
% a(::3)=Y(1:2561:1283);
% a=Y(1:2561:128);

% J = imnoise(a ‘gaussian‘);
% % Y(1:2561:1281)=J(::1);
% % Y(1:2561:1282)=J(::2);
% % Y(1:2561:1283)=J(::3);
% Y(1:2561:128)=J;
% % [Xmap]=rgb2ind(Y256);%将真彩色图象变成索引色图象
% [Xmap]=gray2ind(Y256);
% X1=X;map1=map;
% save ‘picture1‘ X map;
% load picture1;
% subplot(222);
% % figure;
% imshow(X1);
% % colormap(map1);
% title(‘图片1‘);
% axis square %画出picture1
Y1=imread(‘clockB-t.jpg‘); %装入原图像
%对图形的另一半加高斯噪声
% Y1=rgb2gray(Y1);
% Y1=double(Y1)/255;
X2=double(Y1)/255;
% b(::1)=Y1(1:256129:2561);
% b(::2)=Y1(1:256129:2562);
% b(::3)=Y1(1:256129:2563);
% b=Y1(1:256129:256);


% b = imnoise(b ‘gaussian‘);
% Y1(1:256129:256)=b;

% % Y1(1:256129:2561)=b(::1);
% % Y1(1:256129:2562)=b(::2);
% % Y1(1:256129:2563)=b(::3);
% % [Xmap]=rgb2ind(Y1256);
% [Xmap]=gray2ind(Y1256);
% X2=X;map2=map;
% save ‘picture2‘ X map;
% load picture2;
% % figure;
% subplot(223);
% imshow(X2);
% % colormap(map2);
% title(‘图片2‘);
% axis square %画出wbarb 图像
subplot(222);
imshow(X2);
%对上述二图像进行一级小波分解
% X1=double(X1)/255;
% X2=double(X2)/255;
[c1s1]=wavedec2(X11‘sym4‘);
[c2s2]=wavedec2(X21‘sym4‘);


% cA31=appcoef2(c1s1‘sym4‘3);
% cH31=detcoef2(‘h‘c1s13);
% cV31=detcoef2(‘v‘c1s13);
% cD31=detcoef2(‘d‘c1s13);

% cH21=detcoef2(‘h‘c1s12);    
% cV21=detcoef2(‘v‘c1s12);
% cD21=detcoef2(‘d‘c1s12);
cA11=appcoef2(c1s1‘sym4‘1);
cH11=detcoef2(‘h‘c1s11);
cV11=detcoef2(‘v‘c1s11);
cD11=detcoef2(‘d‘c1s11);


% cA32=appcoef2(c2s2‘sym4‘3);
% cH32=detcoef2(‘h‘c2s23);
% cV32=detcoef2(‘v‘c2s23);
% cD32=detcoef2(‘d‘c2s23);
% cH22=detcoef2(‘h‘c2s22);
% cV22=detcoef2(‘v‘c2s22);
% cD22=detcoef2(‘d‘c2s22);
cA12=appcoef2(c2s2‘sym4‘1);
cH12=detcoef2(‘h‘c2s21);
cV12=detcoef2(‘v‘c2s21);
cD12=detcoef2(‘d‘c2s21);

R=100;
%将低频系数乘1/R
cA11=cA11*(1/R);
cA12=cA12*(1/R);
%用新的低频系数和原来的高频系数一起重构新图象
A1=waverec2(c1s1‘sym4‘);
B1=waverec2(c2s2‘sym4‘);
subplot(223);
imshow(A1);
subplot(224);
imshow(B1);
%用3*3滑动窗口求每个象素的能量
A11=nlfilter(A1[3 3]@myfunction3);
B11=nlfilter(B1[3 3]@myfunction3);
[mn]=size(A11);
for i=1:m
    for j=1:n
        if abs(A11(ij))>abs(B11(ij))
            c(ij)=A1(ij);
        else
            c(ij)=B1(ij);
        end
    end
end
        
    




% cA31=cA31.^2;
% cA32=cA32.^2;
% cA33=cA31.*cA32;

% Ea=nlfilter(cA31[3 3]@myfunction1);
% Eb=nlfilter(cA32[3 3]@myfunction1);
% E=nlfilter(cA33[3 3]@myfunction1);
% T=1.5;
% for i=1:numel(Ea)
% M(i)=2*E(i)/(Ea(i)+Eb(i));
% Wmin(i)=0.5-0.5*((1-M(i))/(1-T));


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       7786  2007-04-02 11:27  基于matlab的小波图像融合(多种算法)\clockA-t.jpg

     文件       7271  2007-04-02 11:27  基于matlab的小波图像融合(多种算法)\clockB-t.jpg

     文件        134  2007-12-20 10:07  基于matlab的小波图像融合(多种算法)\说明.txt

     文件        251  2007-04-09 15:22  基于matlab的小波图像融合(多种算法)\myfunction5.m

     文件       3926  2009-05-27 22:32  基于matlab的小波图像融合(多种算法)\exercise1.asv

     文件       2907  2009-05-28 13:48  基于matlab的小波图像融合(多种算法)\exercise2.m

     文件        140  2007-05-11 15:45  基于matlab的小波图像融合(多种算法)\myfunction2.m

     文件        282  2007-04-05 11:45  基于matlab的小波图像融合(多种算法)\myfunction4.m

     文件        125  2007-04-05 11:26  基于matlab的小波图像融合(多种算法)\myfunction3.m

     文件        180  2007-04-05 11:27  基于matlab的小波图像融合(多种算法)\myfunction1.m

     文件       3929  2009-05-28 20:56  基于matlab的小波图像融合(多种算法)\exercise1.m

     文件       2907  2009-05-28 18:50  基于matlab的小波图像融合(多种算法)\exercise2.asv

     文件       3776  2009-05-28 13:56  基于matlab的小波图像融合(多种算法)\Untitled4.m

     目录          0  2007-12-20 10:06  基于matlab的小波图像融合(多种算法)

----------- ---------  ---------- -----  ----

                33614                    14


评论

共有 条评论