✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
基于像素级图像融合的评价指标,包括均方误差,信噪比,熵附matlab代码
⛄ 完整代码
clear;
close all;
I=imread('rice.png');%I为原图像
I1=wiener2(I,[3 3]);
L=medfilt2(I1,[3 3]);
I2=imadjust(L,[0.1 0.9],[0 1],1.2);%I2为变换后图像
%以上I是原图像,I2是变换后的图像,具体变换可以自定义
%下面是均方误差mse峰值信噪比psnr和熵entropy的计算
X=I;
Y=I2;
mse_m=double(zeros(180,180)); %均方误差
for i=1:180
for j=1:180
mse_m(i,j)=(X(i,j)-Y(i,j))^2;
end
end
mse=sum(mse_m(1:180))/32400;
psnr=10*log(double(255*255/mse))/log(10);%峰值信噪比
% 下面计算熵
t(1:256)=0;
%给每个灰度值计数
for i=1:180
for j=1:180
t(Y(i,j)+1)=t(Y(i,j)+1)+1;
end
end
%计算各个灰度出现频率
for i=1:256
t(i)=t(i)/(256*256);
end
entropy=0; %计算熵
for i=1:256
if t(i)>0
entropy=entropy-t(i)*log(t(i))/log(2);
end
end