different between tiff and jpeg format in calculating MSE and PSNR

3 vues (au cours des 30 derniers jours)
Nik
Nik le 26 Août 2013
Commenté : Image Analyst le 12 Oct 2013
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)

Réponse acceptée

Image Analyst
Image Analyst le 26 Août 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;
  2 commentaires
Nik
Nik le 27 Août 2013
Thank you Image Analyst.. It WORKS!! :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Denoising and Compression dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by