How to calculate PSNR of a double sized image

1 view (last 30 days)
While executing there is a error on command window how to remove this error:
%%psnr and mse
err = immse(im, K);
fprintf('\n The mean-squared error is %0.4f\n', err);
[peaksnr, snr] = psnr(im2double(im, K));
fprintf('\n The Peak-SNR value is %0.4f', peaksnr);
fprintf('\n The SNR value is %0.4f \n', snr);
Errors while executig the code :
??? Undefined function or method 'immse' for input arguments of type 'double'.
Error in ==> UNTITLED>pushbutton2_Callback at 316
err = immse(im, K);

Answers (2)

Walter Roberson
Walter Roberson on 15 Jul 2016
immse() is for calculating Mean Squared Error (MSE), but you want to calculate PSNR.
immse() was added to the Image Processing Toolbox as of R2014b.
psnr() was added to the Image Processing Toolbox as of R2014a.
  2 Comments
Spandan Tiwari
Spandan Tiwari on 20 Jul 2016
Slightly aside, but relevant - there's another image similarity metric computing in the Image Processing Toolbox called ssim() for Structural Similarity Index.

Sign in to comment.


Image Analyst
Image Analyst on 20 Jul 2016
I have a manual way to do it, before they introduced those built-in functions. It's attached.

Community Treasure Hunt

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

Start Hunting!