I have calculated PSNR value for an input image and its ground truth without using psnr function. I have written the following code but three different values are obtained as output.
Here's my code.
MSE = sum(sum((I-ref).^2))/(M*N);
PSNR = 10*log10(256*256/MSE);
fprintf('\nPSNR value of image %9.7f dB', PSNR);
The output is obtained as follows:
PSNR value of image 32.6656113 dB
PSNR value of image 32.7511297 dB
PSNR value of image 32.7349438 dB>>
Which value is correct ? Why I'm getting these three outputs ?