>> close all
>> clear all
>> I=imread('lena.bmp');
>> J=imnoise(I,'gaussian',0.01,0.005);
>> A=imread('lena.bmp');
[M,N]=size(A);
B = imread('J.bmp');
a=double(A);
b=double(B);
sum=0;
for i=1:M;
for j=1:N;
sum=sum+(a(i,j)-b(i,j))^2;
end;
end;
mseValue=sum/(M*N);
psnrValue=10*log10(255^2/mseValue);
disp(['输入数据的MSE为:',num2str(mseValue)]);
disp(['输入数据的PSNR为:',num2str(psnrValue)]);
输入数据的MSE为:7915.4387
输入数据的PSNR为:9.1461
以上是MATLAB程序 及其输出结果 M文件可为
function PSNR = PSNR(A,B)
[M,N]=size(A);
x=double(A);
y=double(B);
sum=0;
for i=1:M;
for j=1:N;
sum=sum+(x(i,j)-y(i,j))^2;
end;
end;
mseValue=sum/(M*N);
psnrValue=10*log10(255^2/mseValue);
disp(['输入数据的MSE为:',num2str(mseValue)]);
disp(['输入数据的PSNR为:',num2str(psnrValue)]);
追问不分灰度和彩色吗?
追答上面的程序是灰度图像的 对彩色图像不适用嗯
追问彩色的程序怎么写?