A=imread('1.jpg'); B=imread('2.jpg'); C=imread('3.jpg'); D=imread('4.jpg'); F1=imread('5.jpg'); A_a = double(A)/255; B_b = double(B)/255; C_c= double(A)/255; D_d = double(B)/255; ori_A=A; ori_B=B; ori_C=C; ori_D=D; [p1,q1] = size(A); [p2,q2] = size(B); if(p1~=p2||q1~=q2)     error('The size of image A and image B must be the same......'); end  F1= fuse_lap(A_a,B_b,4,1,3); M1=A_a; M2=B_b; zt=4; ap=1; mp=3;  %Y = fuse_lap(M1, M2, zt, ap, mp) image fusion with laplacian pyramid % %    M1 - input image A %    M2 - input image B %    zt - maximum decomposition level %    ap - coefficient selection highpass (see selc.m)  %    mp - coefficient selection base image (see selb.m)  % %    Y  - fused image     %    (Oliver Rockinger 16.08.99)  % check inputs  [z1 s1] = size(M1); [z2 s2] = size(M2); if (z1 ~= z2) | (s1 ~= s2)   error('Input images are not of same size'); end;  % define filter  w  = [1 4 6 4 1] / 16;  % cells for selected images E = cell(1,zt);  % loop over decomposition depth -> analysis for i1 = 1:zt    % calculate and store actual image size    [z s]  = size(M1);    zl(i1) = z; sl(i1)  = s;      % check if image expansion necessary    if (floor(z/2) ~= z/2), ew(1) = 1; else, ew(1) = 0; end;   if (floor(s/2) ~= s/2), ew(2) = 1; else, ew(2) = 0; end;    % perform expansion if necessary   if (any(ew))   	M1 = adb(M1,ew);   	M2 = adb(M2,ew);   end;	      % perform filtering    G1 = conv2(conv2(es2(M1,2), w, 'valid'),w', 'valid');   G2 = conv2(conv2(es2(M2,2), w, 'valid'),w', 'valid');     % decimate, undecimate and interpolate    M1T = conv2(conv2(es2(undec2(dec2(G1)), 2), 2*w, 'valid'),2*w', 'valid');   M2T = conv2(conv2(es2(undec2(dec2(G2)), 2), 2*w, 'valid'),2*w', 'valid');     % select coefficients and store them   E(i1) = {selc(M1-M1T, M2-M2T, ap)};      % decimate    M1 = dec2(G1);   M2 = dec2(G2); end;  % select base coefficients of last decompostion stage M1 = selb(M1,M2,mp);  % loop over decomposition depth -> synthesis for i1 = zt:-1:1   % undecimate and interpolate    M1T = conv2(conv2(es2(undec2(M1), 2), 2*w, 'valid'), 2*w', 'valid');   % add coefficients   M1  = M1T + E{i1};   % select valid image region    M1 	= M1(1:zl(i1),1:sl(i1)); end;  % copy image Y = M1;