
Signal-to-Noise Ratio (PSNR), HVS using Fourier Transform, Structural Similarity Index (SSIM), and Universal Image Quality Index (UIQI) metrics by simulating them using MATLAB software. MATLAB software is identical for dealing with graphics since it has an image processing tool box, beside it got lots. Psnr Matlab Code. SNR, PSNR, RMSE, MAE ImageJ's plugin to assess the quality of images. Written by Daniel Sage at the Biomedical Image Group, EPFL, Switzerland. This program evaluates the SNR, PSNR, RMSE, and MAE of images or series of images according the definitions of Gonzalez (R.C. Gonzalez and R.E. Woods, 'Digital Image Processing,' Prentice Hall 2008).
- About your question, if you just want to calculate the PSNR for two images, the original and the modified one then you can use the following direct Matlab instruction.
- //calculate psnr for the original and encrypted image. Psnr = 10.log10((255^2)/mse). Anyone know of a MATlab code to calculate the PSNR value of a single image after filtration?
Evaluation of PSNR Lin Zhang, Dept. Computing, The Hong Kong Polytechnic University |
Introduction

PSNR (Peak Singal-to-Noise Ratio) index is a traditional IQA metric.
Source Code
We used the PSNR implementation provided by Dr. Zhou Wang, which can be downloaded here https://ece.uwaterloo.ca/~z70wang/research/iwssim/psnr_mse.m.
Usage Notes
1. This implementation can only deal with gray-scale images. So, you need to convert the RGB image to the grayscale version, which can be accomplished by rgb2gray in Matlab.
Evaluation Results
The results (in Matlab .mat format) are provided here. Each result file contains a n by 2 matrix, where n denotes the number of distorted images in the database. The first column is the PSNR values, and the second column is the mos/dmos values provided by the database. For example, you can use the following matlab code to calculate the SROCC and KROCC values for PSNR values obtained on the TID2008 database:
%%%%%%%%%%%%%%%
matData = load('PSNROnTID.mat');
PSNROnTID= matData.PSNROnTID;
PSNR_TID_SROCC = corr(PSNROnTID(:,1), PSNROnTID(:,2), 'type', 'spearman');
PSNR_TID_KROCC = corr(PSNROnTID(:,1), PSNROnTID(:,2), 'type', 'kendall');
%%%%%%%%%%%%%%%
The source codes to calculate the PLCC and RMSE are also provided for each database. This needs a nonlinear regression procedure which is dependant on the initialization of the parameters. We try to adjust the parameters to get a high PLCC value. For different databases, the parameter initialization may be different. The nonlinear fitting function is of the form as described in [1].
Psnr Calculation In Matlab For Mac Pdf
Evaluation results of PSNR on seven databases are given below. Besides, for each evaluation metric, we present its weighted-average value over all the testing datasets; and the weight for each database is set as the number of distorted images in that dataset.

Database | Results | Nonlinear fitting code | SROCC | KROCC | PLCC | RMSE |
TID2008 | PSNROnTID | NonlinearFittingTID | 0.5531 | 0.4027 | 0.5734 | 1.0994 |
CSIQ | PSNROnCSIQ | NonlinearFittingCSIQ | 0.8058 | 0.6084 | 0.8000 | 0.1575 |
LIVE | PSNROnLIVE | NonlinearFittingLIVE | 0.8756 | 0.6865 | 0.8723 | 13.3597 |
IVC | NonlinearFittingIVC | 0.6884 | 0.5218 | 0.7196 | 0.8460 | |
Toyama-MICT | 0.6132 | 0.4443 | 0.6429 | 0.9585 | ||
A57 | 0.6189 | 0.4309 | 0.7073 | 0.1737 | ||
WIQ | 0.6257 | 0.4626 | 0.7939 | 14.1381 | ||
Weighted-Average | 0.6874 | 0.5161 | 0.7020 |
Reference
[1] H.R. Sheikh, M.F. Sabir, and A.C. Bovik, 'A statistical evaluation of recent full reference image quality assessment algorithms', IEEE Trans. on Image Processing, vol. 15, no. 11, pp. 3440-3451, 2006.

Created on: May. 08, 2011
Matlab For Mac Os X
Last update: Aug. 04, 2011
Psnr Mse
