SSIM Index
结构相似性,是一种衡量两幅图像相似度的新指标,其值越大越好,最大为1
window = fspecial('gaussian', 11, 1.5);
I1=imread('go.tif');
I2=imread('go1.tif');
I1=imread('mo_01.png');
I2=imread('mo_02.png');
[mssim, ssim_map] = ssim_index(I1,I2, 0.02, window, 255)
[mssim, ssim_map] = ssim_index('1.jpg','1.jpg', 0.02, window, 255);
K = [0.05 0.05];
window = ones(8);
L = 100;
[mssim ssim_map] = ssim_index(I1, I2, K, window, L);
mssim %Gives the mssim value
imshow(max(0, ssim_map).^4) %Shows the SSIM index map
I1=imread('mo_01.png');
I2=imread('mo_02.png');
K = [0.05 0.05];
window = ones(8);
L = 100;
[mssim ssim_map] = ssim_index(I1, I2, K, window, L);
mssim %Gives the mssim value
imshow(max(0, ssim_map).^4) %Shows the SSIM index map
PSNR 峰值信噪比(PSNR)
%PSNR 峰值信噪比(PSNR)
function S=PSNR(Im_original,Im_modified)
if (size(Im_original)~=size(Im_modified))
error ('error:image sizes do not agree')
end
[m,n]=size(Im_original);
A=double(Im_original);
B=double(Im_modified);
sumaDif=0;
maxI=m*n*max(max(A.^2));
for u=1:m
for v=1:n
sumaDif=sumaDif+(A(u,v)-B(u,v))^2;
end
end
if (sumaDif==0)
sumaDif=1;
end
S=maxI/sumaDif;
S=10*log10(S);
.
均方误差
%MSE Im_original为原始未经污染的图,Im_modified为去噪后的图
% 均方误差(MSE)
function Image_MSE=MSE(Im_original,Im_modified)
if (size(Im_original)~=size(Im_modified))
error ('error:image sizes do not agree')
end
[m,n]=size(Im_modified);
A=double(Im_original);
B=double(Im_modified);
sumaDif=0;
for u=1:m
for v=1:n
sumaDif=sumaDif+(A(u,v)-B(u,v))^2;
end
end
Image_MSE=sumaDif/(m*n);