img1 = ;

img2 = ;

ImageFusion[{img1_Image,wts1_},{img2_Image,wts2_},index_: Automatic]:=Module[{dwd,wcoeff,nwcoeff,nimg,wind,rnew},dwd=Map[StationaryWaveletTransform[#,CDFWavelet[],3]&,{img1,img2}];
wcoeff=#[index,{"Image","ImageFunction"->Identity}]&/@dwd;
nwcoeff=MapThread[First[#1]->ImageAdd[ImageMultiply[Last[#1],wts1],ImageMultiply[Last[#2],wts2]]&,wcoeff];
nwcoeff=Append[nwcoeff,First[dwd[[1]][{0,0,0},{"Image","ImageFunction"->(ImageMultiply[#,wts1]&)}]]];
InverseWaveletTransform[DiscreteWaveletData[nwcoeff,CDFWavelet[],StationaryWaveletTransform]]]

fimg=ImageFusion[{img1,1},{img2,0.8},{___,1|2|3}];

Column[{Row[{Image[img1,ImageSize->280]," ",Image[img2,ImageSize->280]},Alignment->Center],Image[fimg,ImageSize->570]},Alignment->Center,Spacings->{0,0.5}]