negetive valu for PSNR after image enhancment in MATLAB

4 visualizzazioni (ultimi 30 giorni)
Hi, after image enhancement in frequency domain for assessment calculate psnr and value of psnr and snr is negative. class of input and output image is double.
ref = imread('img.tif');
ref=im2double(ref);
%A = processing(ref);
%Calculate the PSNR.
[peaksnr, snr] = psnr(A, ref);
please guide me about valu of PSNR.

Risposta accettata

Image Analyst
Image Analyst il 16 Mag 2016
What is A??? And you forgot to attach img.tif and the "A" image, so I'm not going to do anything yet.
Since
PSNR=10log10(peakval^2/MSE)
and since you can't have negative values of PSNR unless MSE < peakValue^2, you must have A and ref on different scales, like you called im2double on one but not the other.
  2 Commenti
fred bnm
fred bnm il 19 Mag 2016
"ref" convert to double for frequency filtering.
Image Analyst
Image Analyst il 19 Mag 2016
Yes, but im2double() scaled the data to between 0 and 1. Did you also do that for A? I'm thinking not otherwise the SNR would not be negative.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by