This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Approximation quality metrics


[...] = measerr(...,BPS)


[PSNR,MSE,MAXERR,L2RAT] = measerr(X,XAPP) returns the peak signal-to-noise ratio, PSNR, mean square error, MSE, maximum squared error, MAXERR, and ratio of squared norms, L2RAT, for an input signal or image, X, and its approximation, XAPP.

[...] = measerr(...,BPS) uses the bits per sample, BPS, to determine the peak signal-to-noise ratio.

Input Arguments


X is a real-valued signal or image.


XAPP is a real-valued signal or image approximation with a size equal to that of the input data, X.


BPS is the number of bits per sample in the data.

Default: 8

Output Arguments


PSNR is the peak signal-to-noise ratio in decibels (dB). The PSNR is only meaningful for data encoded in terms of bits per sample, or bits per pixel. For example, an image with 8 bits per pixel contains integers from 0 to 255.


The mean square error (MSE) is the squared norm of the difference between the data and the approximation divided by the number of elements.


MAXERR is the maximum absolute squared deviation of the data, X, from the approximation, XAPP.


L2RAT is the ratio of the squared norm of the signal or image approximation, XAPP, to the input signal or image, X.


Measure approximation quality in an RGB image.

  X = imread('africasculpt.jpg');
  Xapp = X;
  Xapp(X<=100) = 1;
  [psnr,mse,maxerr,L2rat] = measerr (X,Xapp)
  subplot(1,2,1); image(X); 
  subplot(1,2,2); image(Xapp);

Approximation Quality Metrics

Approximate an image and calculate approximation quality metrics.

Load an image.

load woman;

Define the image approximation.

Xapp = X;
Xapp(X<=50) = 1;

Calculate approximation quality metrics.

[psnr,mse,maxerr,L2rat] = measerr(X,Xapp)
psnr =


mse =


maxerr =


L2rat =


Create a plot.

figure; colormap(map);
subplot(1,2,1); image(X);
subplot(1,2,2); image(Xapp);

More About

collapse all

Peak Signal to Noise Ratio (PSNR)

The following equation defines the PSNR:


where MSE represents the mean square error and B represents the bits per sample.

Mean Square Error (MSE)

The mean square error between a signal or image, X, and an approximation, Y, is the squared norm of the difference divided by the number of elements in the signal or image:



Huynh-Thu, Q.Scope of validity of PSNR in image/video quality assessment, Electronics Letters, 44, 2008, pp. 800–801.

Introduced in R2010b

Was this topic helpful?