How to calculate PSNR of a double sized image

4 次查看(过去 30 天)
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);

回答(2 个)

Walter Roberson
Walter Roberson 2016-7-15
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 个评论
Spandan Tiwari
Spandan Tiwari 2016-7-20
Slightly aside, but relevant - there's another image similarity metric computing in the Image Processing Toolbox called ssim() for Structural Similarity Index.

请先登录,再进行评论。


Image Analyst
Image Analyst 2016-7-20
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!

Translated by