Image Fusion
For the example, switch the extension mode to symmetric padding, using the command:
dwtmode('sym')
The toolbox requires only one function for image fusion: wfusimg
. You'll find full information
about this function in its reference page. For more details on fusion
methods see the wfusmat
function.
In this section, you will learn how to:
Load images
Perform decompositions
Merge images from their decompositions
Restore images from their decompositions
Save image after fusion
The principle of image fusion using wavelets is to merge the wavelet decompositions of the two original images using fusion methods applied to approximations coefficients and details coefficients (see [MisMOP03] and [Zee98] in References).
The two images must be of the same size and are supposed to
be associated with indexed images on a common colormap (see wextend
to resize images).
Two examples are examined: the first one merges two different images leading to a new image and the second restores an image from two fuzzy versions of an original image.
Image Fusion Using the Command Line
Example 1: Fusion of Two Different Images
Load two original images: a mask and a bust.
load mask; X1 = X; load bust; X2 = X;
Merge the two images from wavelet decompositions at level 5 using
db2
by taking two different fusion methods: fusion by taking the mean for both approximations and details,XFUSmean = wfusimg(X1,X2,'db2',5,'mean','mean');
and fusion by taking the maximum for approximations and the minimum for the details.
XFUSmaxmin = wfusimg(X1,X2,'db2',5,'max','min');
Plot original and synthesized images.
colormap(map); subplot(221), image(X1), axis square, title('Mask') subplot(222), image(X2), axis square, title('Bust') subplot(223), image(XFUSmean), axis square, title('Synthesized image, mean-mean') subplot(224), image(XFUSmaxmin), axis square, title('Synthesized image, max-min')
Example 2: Restoration by Fusion from Fuzzy Images
Load two fuzzy versions of an original image.
load cathe_1; X1 = X; load cathe_2; X2 = X;
Merge the two images from wavelet decompositions at level 5 using
sym4
by taking the maximum of absolute value of the coefficients for both approximations and details.XFUS = wfusimg(X1,X2,'sym4',5,'max','max');
Plot original and synthesized images.
colormap(map); subplot(221), image(X1), axis square, title('Catherine 1') subplot(222), image(X2), axis square, title('Catherine 2') subplot(223), image(XFUS), axis square, title('Synthesized image')
The synthesized image is a restored version of good quality of the common underlying original image.