logo资料库

峰值信噪比、均方根误差的matlab代码.doc

第1页 / 共1页
资料共1页,全文预览结束
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 / 注释:红色为输出结果,蓝色为代码注释部分
分享到:
收藏