vision.PSNR System object

Package: vision

Compute peak signal-to-noise ratio (PSNR) between images


The PSNR object computes the peak signal-to-noise ratio (PSNR) between images. This ratio is often used as a quality measurement between an original and a compressed image.


H = vision.PSNR returns a System object, H, that computes the peak signal-to-noise ratio (PSNR) in decibels between two images.

Code Generation Support
Supports MATLAB® Function block: Yes
System Objects in MATLAB Code Generation.
Code Generation Support, Usage Notes, and Limitations.


cloneCreate peak signal to noise ratio object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and non-tunable properties
release Allow property value and input characteristics changes
stepCompute peak signal-to-noise ratio


Compute the PSNR between an original image and its reconstructed image.

 hdct2d = vision.DCT;
 hidct2d = vision.IDCT;
 hpsnr = vision.PSNR;
 I = double(imread('cameraman.tif'));
 J = step(hdct2d, I); 
 J(abs(J) < 10) = 0;
 It = step(hidct2d, J);
 psnr = step(hpsnr, I,It)
 imshow(I, [0 255]), title('Original image');
 figure, imshow(It,[0 255]), title('Reconstructed image');


This object implements the algorithm, inputs, and outputs described on the PSNR block reference page. The object properties correspond to the block parameters.

Was this topic helpful?