how can I implement image fusion algorithm by using curvelet transform?
Afficher commentaires plus anciens
Image fusion is the process of combining two images to form only one image which should contain information of both the images.
Réponses (1)
surya mahajan
le 9 Fév 2020
0 votes
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 commentaires
Bhakti Raul
le 3 Juil 2020
could find CURVELET_PROCESS and INVERSE_CURVELET_PROCESS functions anywhere
jyoti khandelwal
le 3 Août 2021
defination of curvelet and inverse curvelet fuction is missing
Catégories
En savoir plus sur Deblurring dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!