Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Latest commit 4c92d41 Feb 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE initial SSIMULACRA release Jun 13, 2017
Makefile only use some opencv libs in makefile Oct 16, 2018 correct link to blogpost Jun 14, 2017
ssimulacra.cpp fixes #5 Feb 18, 2019

SSIMULACRA - Structural SIMilarity Unveiling Local And Compression Related Artifacts

Cloudinary's variant of DSSIM, based on Philipp Klaus Krause's adaptation of Rabah Mehdi's SSIM implementation, using ideas from Kornel Lesinski's DSSIM implementation as well as several new ideas.

This is a perceptual metric designed specifically for scoring image compression related artifacts in a way that correlates well with human opinions. For more information, see

Changes compared to Krause's SSIM implementation:

  • Use C++ OpenCV API
  • Convert sRGB to linear RGB and then to Lab*, to get a perceptually more accurate color space
  • Multi-scale (6 scales)
  • Extra penalty for specific kinds of artifacts:
    • local artifacts
    • grid-like artifacts (blockiness)
    • introducing edges where the original is smooth (blockiness / color banding / ringing / mosquito noise)

Known limitations:

  • Color profiles are ignored; input images are assumed to be sRGB.
  • Both input images need to have the same number of channels (Grayscale / RGB / RGBA)

Build instructions

  • Install OpenCV
  • Do make


May 2016 - Feb 2017, Jon Sneyers

Copyright 2017, Cloudinary

SSIMULACRA is licensed under the Apache License, Version 2.0 (the "License"). You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

You can’t perform that action at this time.