You are getting 3 PSNR values because your 'input.png' and 'groundTruth.png' are 3 channel RGB images and your code is calculating PSNR for each channel individually. You can convert your RGB image to grayscale before PSNR calculation to solve this issue. Refer the code below. Dec 23, 2018 How to calculate MSE and PSNR in two different. Learn more about index in position 2 exceeds array bounds (must not exceed 112)., pattern matching, normalized cross correlation Image Processing Toolbox.
Compute peak signal-to-noise ratio (PSNR) between images
Description
The PSNR block computes the peak signal-to-noise ratio, in decibels, between two images. This ratio is used as a quality measurement between the original and a compressed image. The higher the PSNR, the better the quality of the compressed, or reconstructed image.
The mean-square error (MSE) and the peak signal-to-noise ratio (PSNR) are used to compare image compression quality. The MSE represents the cumulative squared error between the compressed and the original image, whereas PSNR represents a measure of the peak error. The lower the value of MSE, the lower the error.
To compute the PSNR, the block first calculates the mean-squared error using the following equation:
In the previous equation, M and N are the number of rows and columns in the input images. Then the block computes the PSNR using the following equation:
In the previous equation, R is the maximum fluctuation in the input image data type. For example, if the input image has a double-precision floating-point data type, then R is 1. If it has an 8-bit unsigned integer data type, R is 255, etc.
Computing PSNR for Color Images
Different approaches exist for computing the PSNR of a color image. Because the human eye is most sensitive to luma information, you can compute the PSNR for color images by converting the image to a color space that separates the intensity (luma) channel, such as YCbCr. The Y (luma), in YCbCr represents a weighted average of R, G, and B. G is given the most weight, again because the human eye perceives it most easily. Compute the PSNR only on the luma channel.
![For For](/uploads/1/2/4/4/124415043/664571271.png)
Input
Input image, specified as scalar, vector, or matrix.
Data Types:
single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Input image, specified as scalar, vector, or matrix.
Data Types:
single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Output
Peak signal-to-noise ratio between images, returned as a scalar.
Dependencies
If the input is a fixed-point or integer data type, the block output is double-precision floating point. Otherwise, the block input and output are the same data type.
Data Types:
double
Model Examples
Compare the quality of a noisy and denoised image from the PSNR value computed using the
PSNR
block.![Mac Mac](/uploads/1/2/4/4/124415043/592196246.gif)
Block Characteristics
Data Types | double | fixed point | integer | single |
Multidimensional Signals | no |
Variable-Size Signals | yes |
Extended Capabilities
Psnr Calculation In Matlab For Mac Pdf
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Generates code only for
double
or single
data types.Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.
Introduced before R2006a
Opencv Psnr
PSNR is used to measure the quality of reconstruction of lossy and lossless compression (e.g., for image compression). The signal in this case is the original data, and the noise is the error introduced by compression. When comparing compression codecs , PSNR is an approximation to human perception of reconstruction quality. Although a higher PSNR generally indicates that the reconstruction is of higher quality, in some cases it may not. PSNR is most easilydefined via the mean squared error.
Psnr Image
Here, MAXI is the maximum possible pixel value of the image. When the pixels are represented using 8 bits per sample, this is 255. More generally, when samples are represented using linear PCM with B bits per sample, MAXI is 2B−1. For color images with three RGB values per pixel, the definition of PSNR is the same except the MSE is the sum over all squared value differences divided by image size and by three.