]> AND Private Git Repository - these_gilles.git/blob - PSNR_RGB/PSNRCal.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
modif finale lnivs + keywords
[these_gilles.git] / PSNR_RGB / PSNRCal.m
1 function PSNR_Value = PSNRCal(X,Xhat)
2 I = imread(X);
3 Ihat = imread(Xhat);
4
5 % Read the dimensions of the image.
6 [rows columns ~] = size(I);
7
8 % Calculate mean square error of R, G, B.
9 mseRImage = (double(I(:,:,1)) - double(Ihat(:,:,1))) .^ 2;
10 mseGImage = (double(I(:,:,2)) - double(Ihat(:,:,2))) .^ 2;
11 mseBImage = (double(I(:,:,3)) - double(Ihat(:,:,3))) .^ 2;
12
13 mseR = sum(sum(mseRImage)) / (rows * columns);
14 mseG = sum(sum(mseGImage)) / (rows * columns);
15 mseB = sum(sum(mseBImage)) / (rows * columns);
16
17 % Average mean square error of R, G, B.
18 mse = (mseR + mseG + mseB)/3;
19
20 % Calculate PSNR (Peak Signal to noise ratio).
21 PSNR_Value = 10 * log10( 255^2 / mse);
22 end