Borrar filtros
Borrar filtros

different between tiff and jpeg format in calculating MSE and PSNR

1 visualización (últimos 30 días)
I got a code to calculate CR,bpp, MSE and PSNR. I works well for *.jpeg image but not for *.tiff. A message
"Error using -
Integers can only be combined with integers of the same class, or scalar doubles.
Error in sphit (line 38)
D = abs(X-Xc).^2;"
I cannot figure why it happen. The full code is:
X= imread ('lena.tif');
[cr,bpp] = wcompress('c',X,'mask.wtc','spiht','maxloop',12)
Xc = wcompress('u','mask.wtc');
delete('mask.wtc')
colormap(pink(255))
subplot(1,2,1); image(X); title('Original image')
axis square
subplot(1,2,2); image(Xc); title('Compressed image')
axis square
% Finally the MSE and the PSNR are computed.
D = abs(X-Xc).^2;
mse = sum(D(:))/numel(X)
psnr = 10*log10(255*255/mse)

Respuesta aceptada

Image Analyst
Image Analyst el 26 de Ag. de 2013
When you see that error, it's fixed by converting the integer variable in the equation to a double.
D = abs(double(X) - Xc) .^ 2;

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by