Compiling SSIM on Mac

November 25th, 2014
tech
If you want to examine the distortion that comes from a lossy compression algorithm, it's helpful to have a tool that's a good proxy for asking a person "how similar are these two images"? The standard algorithm for this is SSIM, but there are several implementations. I was initially using Pornel's dssim, but I wanted to compare this to Mehdi's SSIM. Mehdi's doesn't document how to compile it on a mac, so here's what worked for me:

  1. Install OpenCV
    1. Download OpenCV for linux/mac. I downloaded 2.4.9 from opencv.org/downloads.
    2. unzip ~/Downloads/opencv-2.4.9.zip
    3. cd ~/Downloads/opencv-2.4.9/
    4. mkdir build && cd build
    5. cmake -G "Unix Makefiles" ..
    6. make -j8
    7. sudo make install
  2. Download SSIM.ccp: wget http://mehdi.rabah.free.fr/SSIM/SSIM.cpp
  3. The SSIM.cpp file needs a small change: replace "#include <iostream.h>" with "#include <iostream>".
  4. Compile with:
    g++ -I/usr/local/include/opencv \
        -L/usr/local/lib/ \
        -lopencv_core \
        -lopencv_highgui \
        -lopencv_imgproc \
        SSIM.cpp \
        -o ssim
  5. Enjoy using SSIM: ./ssim a-original.png a-modified.png

Comment via: substack

Recent posts on blogs I like:

On Apologizing To Kids

Everyone is so weird about apologizing to children.

via Thing of Things August 25, 2025

Against the Teapot Hold in Contra Dancing

The teapot hold is the most dangerous common contra dancing figure, so I’ve been avoiding it. The teapot hold, sometimes called a "courtesy turn hold,” requires one dancer to connect with their hand behind their back. When I realized I could avoid put…

via Emma Azelborn August 25, 2025

Little Puppy

She's very little and she likes to do stuff with me. She also likes to bark around and run around and jump around. She also likes to go to places with me and that's all I have.

via Nora Wise's Blog Posts August 23, 2025

more     (via openring)