how can I implement image fusion algorithm by using curvelet transform?

Image fusion is the process of combining two images to form only one image which should contain information of both the images.

Answers (1)

clearall;
closeall;
%%
[filename filepath]=uigetfile('*.jpg','select the input chromatic image');
filedir1=strcat(filepath,'\',filename);
[filename filepath]=uigetfile('*.jpg','select the input spectral image');
filedir2=strcat(filepath,'\',filename);
im1=imresize(imread(filedir1),[512,512]);
im2=imresize(imread(filedir1),[512,512]);
figure,imshow(im2);
title('inputimage 1-chromatic');
figure,imshow(im2);
tittle('input image 2-multi spectral');
no_of_level=3;
curve_wavelet_2d=CURVELET_PROCESS(im1,1,no_of_level);
for k3=1:3
curve_wavelet_3d=CURVELET_PROCESS(im2(:,:,k3),1,no_of_level);
end
%%
fork5=1:3
curv_coeff=curve_wavelet_3d{k5};
fork6=1:lenght(curv_coeff)-2
tmp_coeff=curv_coeff{k6};
tmp_2dcoeff=curve_wavelet_2d{k6};
for k7=1:length(tmp_coeff)
coeff3d=temp_coeff{k7};
coeff2d=tmp_2dcoeff{k7};
locl=find(coeff2d<1);
coeff3d(locl)=coeff2d(locl);
res..coeff3{k7}=coeff3d;
end
res..coeff2{k6}=res_coeff3;
res_coeff3=[];
end
res_coeff2{k6+1}=curv_coeff{k6+1};
res_coeff2{k6+2}=curv_coeff{k6+2};
final..res..coeff{k5}=res_coeff2;
end
fork10=1:3
imgx=INVERSE_CURVELET_PROCESS(FINAL_RES_COEFF{K10});
imgout(:,:,k10)=imgx;
end
figure,imshow(uint8(imgout));
tittle('resultimage');
%%
resout=uint8(imgout);
for km=1:3
disp(strcat('band--',num2str(km)))
mseerroe=mean(mean(im2(:,:,km)-uint8(imgout(:,:,km))).^2));
MSE_VAL=mseerroe
PSNR_VAL=20*log10(255/mseerroe)
ENTROPY_VAL=entropy_func(double(resout(:,:,km)))
f1img=im2(:,:,km);
f2img=resout(:,:,km);
corrval=xcorr(f1img(:),f2img(:));
CROSS_CORRELATION=max(corrval)
[fx,fy]=gradient(double(resout(:,:,km)));
AVERAGE_GRADIENT_VAL=mean(mean(mean(sqrt((fx.^2+fy.^2)/2))))
UIQI=UniversalImageQualityIndex(double(im2(:,:,km)),double(resout(:,:,km)))
end

2 Comments

could find CURVELET_PROCESS and INVERSE_CURVELET_PROCESS functions anywhere
defination of curvelet and inverse curvelet fuction is missing

Sign in to comment.

Categories

Asked:

on 19 Nov 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!