I have two images with and without noise. How do I calculate ISNR? I have attached a code in MATLAB where I have calculated ISNR, but I am not sure if it's correct.
(taken e.g. from the book "Digital Image Processing" by S. Jayaraman et al. 2011, p.357 or from the book "Encyclopedia of Optical Engineering" by R.G. Driggers 2003, p.413); "original" is the original image (without noise), "noisy" the corrupted image with noise, and "restored" the de-noised image.
The provided matlab code does almost (but not quite) the correct calculation of the ISNR; what you could have done is:
Have a look in our website: http://www.medinfo.cs.ucy.ac.cy/
under the tab Downloads-->Toolboxes.
Download the image despeckle filtering toolbox. There is a GUI provided with which you can do many things as well as calculate the snr and many other metrics between oringinal and trnasmitted images.
There are also some matlab functions that can be downloaded together with my book
Despeckle Filtering Algorithms and Software for Ultrasound Imaging
(taken e.g. from the book "Digital Image Processing" by S. Jayaraman et al. 2011, p.357 or from the book "Encyclopedia of Optical Engineering" by R.G. Driggers 2003, p.413); "original" is the original image (without noise), "noisy" the corrupted image with noise, and "restored" the de-noised image.
The provided matlab code does almost (but not quite) the correct calculation of the ISNR; what you could have done is: