Code Monkey home page Code Monkey logo

imagequalitycompare's Introduction

C++ Implementation to Compare Pairs of Image Quality using RMSE, SSIM, and PSNR

Compare the quality between two images using RMSE, SSIM, and PSNR. The values of the PSNR can be predicted from the SSIM and vice-versa. The PSNR and the SSIM mainly differ on their degree of sensitivity to image degradations.

Usage

The executable file is under x64/Release/Compare.exe

Compare image_file_name_1 image_file_name_2 [--mask] [--block_size] 2
  • The optional mask parameter will neglect the total white or black pixels in the image1.
  • The optional block_size parameter determines the window size of SSIM.
  • The smaller block_size is, the slower it runs.

Compilation

If the compilation fails, please fix the following environment variables:

Details

RMSE: Root Mean Squared Error

The square root of the mean squared error. More sensitive than SSIM and PSNR in values. Wiki: https://en.wikipedia.org/wiki/Root-mean-square_deviation

SSIM: Structural Similarity Index Measure

The SSIM index is calculated on various windows of an image. Wiki: https://en.wikipedia.org/wiki/Structural_similarity

PSNR: Peak signal-to-noise ratio

PSNR is most often defined via 10 multiplies the log10 of the normalized mean squared error (MSE). Wiki: https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio

Free software!

Contact: Ruofei Du (http://www.duruofei.com)

imagequalitycompare's People

Contributors

ruofeidu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

imagequalitycompare's Issues

discussion and query

in ssim function, i found the avg_o and avg_r is from Range(k, k + block_size) instead of Range(m, m + block_size). is this a bug?

by the way, what ssim value is best used for.
i want to detect if a image is taken from by placing the camera very close to scene, (like wall or floor), is ssim value able to judge;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.