A=imread('G:\homework\ lena_gray_512.tif');title('原图像');
[M,N]=size(A);
B = imnoise(A,'gaussian',0.002);
subplot(1,2,1);imshow(A);title('原图像');%diaplay the original image
subplot(1,2,2);imshow(B);title('加入高斯白噪声后图像');%diaplay the after-adding-noise image
a=double(A);b=double(B);
sum1=0;
for i=1:M;
for j=1:N;
sum1=sum1+(a(i,j)-b(i,j))^2;
end;
end;
mseValue=sum1/(M*N);%计算均方误差 MSE
sum2=0;
for i=1:M;
for j=1:N;
sum2=sum2+(a(i,j))^2;
end;
end;
P=sum2;
snrValue=10*log10(P/mseValue);%计算信噪比 SNR
psnrValue=10*log10(255^2/mseValue);%计算峰值信噪比 PSNR
sum3=0;
for i=1:M;
for j=1:N;
sum3=sum3+abs(a(i,j)-b(i,j));
end;
end;
Q=sum3;
maeValue=Q/(M*N);%计算绝对平均误差
fprintf('\n 原图像和加入高斯白噪声后图像的 MSE/SNR/PSNR/MAE are %f / %f / %f/ %f
separately.\n',mseValue,snrValue,psnrValue,maeValue);
%display the MSE/SNR/PSNR/MAE、
原图像和加入高斯白噪声后图像的 MSE/SNR/PSNR/MAE are
20.065707/ 20.248138 separately.
640.486076 / 68.594612 /
注释:红色为输出结果,蓝色为代码注释部分