Difference between PSNR and SSIM comparison

21 ビュー (過去 30 日間)
Muzammil Behzad
Muzammil Behzad 2016 年 4 月 24 日
コメント済み: Image Analyst 2025 年 6 月 8 日
Hello everyone.
I have been reading about this but couldn't understand properly that's why posting it here. How would we differentiate between PSNR and SSIM comparison of two images? I mean when we compare two images, what are we really looking into via PSNR comparison and what are we looking into via SSIM comparison? Also, how is SNR different from PSNR? Kindly explain in the context of images or 1D signals.
Thanks in advance.

回答 (1 件)

Prasanna
Prasanna 2025 年 6 月 6 日
Hi Muzammil,
It is my understanding that you're trying to clearly understand the differences between PSNR, SSIM, and SNR when comparing images or signals — especially how each one evaluates the similarity or quality of two images.
PSNR quantifies how much noise, or error exists between two images, typically an original and its compressed or degraded version and is based on the mean squared error between two images.
SSIM evaluates perceived image quality by comparing luminance, contrast, and Structural similarity. It is more suitable than PSNR for tasks like image compression evaluation, where perceptual quality matters.
SNR measures the ratio of the original signal power to the noise power. While PSNR is typically used for images and videos, SNR more often for signals like audio or EEG.
In summary, use PSNR when you're interested in objective, pixel-level differences (e.g., during algorithm development or tuning). You can use SSIM when you care about how the image looks to a human, especially for compression, denoising, or enhancement. You can use SNR mostly for 1D signals or in general-purpose signal-to-noise evaluations, not peak-based visual data. For more information, you can refer to the following documentations:
Hope this helps!
  1 件のコメント
Image Analyst
Image Analyst 2025 年 6 月 8 日
Also you might look at niqe and brisque
help niqe
niqe - Naturalness Image Quality Evaluator (NIQE) no-reference image quality score This MATLAB function calculates the no-reference image quality score for image A using the Naturalness Image Quality Evaluator (NIQE). Syntax score = niqe(A) score = niqe(A,model) Input Arguments A - Input image 2-D grayscale image | 2-D RGB image model - Custom model niqeModel object Output Arguments score - No-reference image quality score nonnegative scalar Examples openExample('images/CalculateNIQEScoreUsingDefaultFeatureModelExample') openExample('images/CalculateNIQEScoreUsingCustomFeatureModelExample') See also brisque, fitbrisque, fitniqe, piqe, niqeModel Introduced in Image Processing Toolbox in R2017b Documentation for niqe doc niqe
help brisque
brisque - Blind/Referenceless Image Spatial Quality Evaluator (BRISQUE) no-reference image quality score This MATLAB function calculates the no-reference image quality score for image I using the Blind/Referenceless Image Spatial Quality Evaluator (BRISQUE). Syntax score = brisque(I) score = brisque(I,model) Input Arguments I - Input image 2-D grayscale image | 2-D RGB image model - Custom model brisqueModel object Output Arguments score - No-reference image quality score nonnegative scalar Examples openExample('images/CalculateBRISQUEScoreUsingDefaultFeatureModelExample') openExample('images/CalculateBRISQUEScoreUsingCustomFeatureModelExample') See also fitbrisque, niqe, fitniqe, piqe, brisqueModel Introduced in Image Processing Toolbox in R2017b Documentation for brisque doc brisque

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by