Filter löschen
Filter löschen

Can u solve this error?

2 Ansichten (letzte 30 Tage)
Sanjeeb Behera
Sanjeeb Behera am 20 Sep. 2016
Beantwortet: Image Analyst am 20 Sep. 2016
n=size(I);
M=n(1);
N=n(2);
MSE = sum(sum((I-II).^2.0))/(M*N);
PSNR = 10*log10(256*256/MSE);
fprintf('\nMSE: %7.2f', MSE);
fprintf('\nPSNR: %9.7f dB', PSNR);
Here i am calculating the PSNR and MSE of I and II but it gives error
Integers can only be combined with integers of the same class, or scalar doubles.
Error in ==> Spatial_thesis at 58
MSE = sum(sum((I-II).^2.0))/(M*N);
I have taken
I=uint8(X);
II = logical(I8)*128+logical(I7)*64+logical(I6)*32+logical(I5)*16+logical(I4)*8+logical(I3)*4+logical(I2)*2+logical(I1);
  2 Kommentare
mbonus
mbonus am 20 Sep. 2016
Bearbeitet: mbonus am 20 Sep. 2016
type whos for each variable and compare the types
Geoff Hayes
Geoff Hayes am 20 Sep. 2016
Sanjeeb - how are I and II initialized?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Image Analyst
Image Analyst am 20 Sep. 2016
Use the built-in functions psnr() and immse(). Or else see my attached demo, or cast both I and II to double:
I = double(I);
II = double(II);

Community Treasure Hunt

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

Start Hunting!

Translated by