The Laplace pyramid can also be used to blend images, with specific operating results and images as follows:
Original Image:
Post-Fusion Image:
The code is as follows:
%clear all, close all, CLC;%read image and size fimg=Double(Imread ('1807i_12.bmp')); Simg=Double(Imread ('1807v_12.bmp')); [FM,FN]=size (FIMG); [sm,sn]=size (simg);%Gaussian filter W=1/8*[0,1,0;1,4,1;0,1,0];fimgn{1}=fimg;%filtering, down sampling forI=2:5Fimgn{i}=imfilter (fimgn{i-1},w,'Replicate'); Fimgn{i}=fimgn{i} (1:2: Size (Fimgn{i},1)-1,1:2: Size (Fimgn{i},2)-1); %i-1-level approximation%Figure ;%imshow (Uint8 (Fimgn{i}));% Imwrite (uint8 (Fimgn{i}), strcat ('Fimg_', Num2str (i-1),'. bmp') ); end forI=5:-1:2%resizing an image fimgn{i-1}=fimgn{i-1}(1:2*size (Fimgn{i},1),1:2*size (Fimgn{i},2)); endsimgn{1}=simg;%filtering, down sampling forI=2:5Simgn{i}=imfilter (simgn{i-1},w,'Replicate'); Simgn{i}=simgn{i} (1:2: Size (Simgn{i},1)-1,1:2: Size (Simgn{i},2)-1); %i-1-level approximation%Figure ;%imshow (Uint8 (Simgn{i}));% Imwrite (uint8 (Simgn{i}), strcat ('Simg_', Num2str (i-1),'. bmp') ); end forI=5:-1:2%resizing an image simgn{i-1}=simgn{i-1}(1:2*size (Simgn{i},1),1:2*size (Simgn{i},2)); End forI=1:5Averimgn{i}=(1/2) * (fimgn{i}+simgn{i});%Figure ;%imshow (Uint8 (Averimgn{i}));% Imwrite (uint8 (Averimgn{i}), strcat ('Averimg_', Num2str (i-1),'. bmp') ); end forI=1:4%get residual image, I-Level predictive residuals Averimgn{i}=averimgn{i}-pyexpand (averimgn{i+1},w); End forI=4:-1:1%residual Image reconstruction original image Averimgn{i}=averimgn{i}+pyexpand (averimgn{i+1},w);%Figure ;%imshow (Uint8 (Averimgn{i}));% Imwrite (uint8 (Averimgn{i}), strcat ('Averimg_', Num2str (i-1),'. bmp')); End figure; Imshow (uint8 (averimgn{1})); Imwrite (uint8 (averimgn{1}), strcat ('averimg.jpg'));
IMAGE FUSION USING LAPLACIAN PYRAMID