MATLAB: Wrong values of PSNR for two nearly identical images

psnrwavelet

Hello,
my original image is Lena.gif (256×256) which i attached and for this image i did a first level Wavelet (haar) decomposition with Wavelet analyzer toolbox, i attached approximation named LL1.
When i calculate PSNR with function in Matlab "psnr" i got values 27.68, which is not logically. Also, i computed PSNR with my own code:
I = imread('lena.gif');
I = imread('LL1.gif');
I = uint8(I);
L1 = uint8(L1);
% I = im2double(I);
% L1 = im2double(L1)
mse = sum((I(:)-L1(:)).^2)/numel(L1);
psnr1 = 10*log10(255*255/mse);
fprintf('\n MYYYY The PSNR is: %0.2f', psnr1);
and results are also not logically. It is know that if PSNR<=30 then image having low quality, else if PSNR>=30 && PSNR<=60 then image having Medium quality else image having good quality.
What is wrong with PSNR function?

Best Answer

montage({'lena.gif','L1.gif'})
When you compare them side by side you can see that the wavelet processed one is low quality.
Related Question