Wrong values of PSNR for two nearly identical images
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
mavicV
am 16 Mai 2018
Kommentiert: Walter Roberson
am 17 Mai 2018
Hello,
my original image is Lena.gif (256x256) 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?
1 Kommentar
Akzeptierte Antwort
Walter Roberson
am 16 Mai 2018
montage({'lena.gif','L1.gif'})
When you compare them side by side you can see that the wavelet processed one is low quality.
4 Kommentare
Walter Roberson
am 17 Mai 2018
You are using too small of a figure to see the differences. Use the montage() command I showed, and display with a minimum figure size of 720 x 1440
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!