logo资料库

SNR,PSNR,MSE,AG(平均梯度)程序.doc

第1页 / 共1页
资料共1页,全文预览结束
SNR,PSNR,MSE,AG(平均梯度)程序分享 %%此程序只支持灰度图像的计算,x1,x2 分别是原始图像和对原始图像的改进。另外, %原始图像和改进图像的像素大小必须相同。如有疑问,jiao.da.11@163.com. x1=imread('baboon.gif'); x2=imread('baboon_new1.jpg'); x1=double(x1); x2=double(x2); [m,n]=size(x1); [m2,n2]=size(x2); if m2~=m||n2~=n; error('图像选择错误'); end; msevalue=0; thegma=0; agvalue=0; for i=1:m; for j=1:n; msevalue=msevalue+(x1(i,j)-x2(i,j))^2; thegma=thegma+x1(i,j)^2; end; end; MSE=msevalue/(m*n);%MSE psnrvalue=255^2/MSE; PSNR=10*log10(psnrvalue);%PSNR SNR=10+log10(thegma/msevalue);%SNR %AG for i=1:m-1; for j=1:n-1; Ix=x2(i+1,j)-x2(i,j); Iy=x2(i,j+1)-x2(i,j); agvalue=agvalue+sqrt((Ix^2+Iy^2)/2); end; end; AG=agvalue/(m*n); disp(['输入数据的 MSE 为:',num2str(MSE)]); disp(['输入数据的 PSNR 为:',num2str(PSNR)]); disp(['输入数据的 SNR 为:',num2str(SNR)]); disp(['输入数据的 AG 为:',num2str(AG)]);
分享到:
收藏