永发信息网

如何用MATLAB做图像融合的精度评价

答案:1  悬赏:70  手机版
解决时间 2021-02-06 12:38
  • 提问者网友:咪咪
  • 2021-02-05 13:37
如何用MATLAB做图像融合的精度评价
最佳答案
  • 五星知识达人网友:鸽屿
  • 2021-02-05 15:07
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
function laplacian(ori_A,ori_B)
path(path,'FusionEvaluation/')
%Ori_A = imread('clockA_tif2bmp (256x256).BMP');
%Ori_B = imread('clockB_tif2bmp (256x256).BMP');
ori_A = imread('clockA.BMP');
ori_B = imread('clockB.BMP');
ori_A=rgb2gray(ori_A);
ori_B=rgb2gray(ori_B);
A_a = double(ori_A)/255;
B_b = double(ori_B)/255;
[p1,q1] = size(ori_A);
[p2,q2] = size(ori_B);
if(p1~=p2||q1~=q2)
error('The size of image A and image B must be the same......');
end
F = fuse_lap(A_a,B_b,4,1,3);
%%
F=F*255;
F(F<0)=0;
disp('拉普拉斯指标:')
F(F>255)=255;
F=round(F);
%%
grey_level=256;
Criteria=Evaluation(double(ori_A),double(ori_B),F,grey_level);
disp(Criteria)
figure,imshow(F-double(ori_A),[])
F_DWT = fuse_dwb(A_a,B_b,4,1,3);
F_DWT=F_DWT*255;
F_DWT(F_DWT<0)=0;
disp('离散小波变换指标:')
F_DWT(F_DWT>255)=255;
F_DWT=round(F_DWT);
%%
grey_level=256;
Criteria=Evaluation(double(ori_A),double(ori_B),F_DWT,grey_level);
disp(Criteria)
figure,imshow(F_DWT-double(ori_A),[])
F_CON = fuse_con(A_a,B_b,4,1,3);

F_CON=F_CON*255;
F_CON(F_CON<0)=0;
disp('Contrast Pyramid变换指标:')
F_CON(F_CON>255)=255;
F_CON=round(F_CON);
%%
grey_level=256;
figure,imshow(F_CON-double(ori_A),[])
Criteria=Evaluation(double(ori_A),double(ori_B),F_CON,grey_level);
disp(Criteria)

F_SIH = fuse_sih(A_a,B_b,4,1,3);

F_SIH=F_SIH*255;
F_SIH(F_SIH<0)=0;
disp('FSD Pyramid变换指标:')
F_SIH(F_SIH>255)=255;
F_SIH=round(F_SIH);
%%
grey_level=256;
figure,imshow(F_SIH-double(ori_A),[])
Criteria=Evaluation(double(ori_A),double(ori_B),F_SIH,grey_level);
disp(Criteria)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯