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:

Ozy and Vasili Review Lilo and Stitch

Sometimes my seven-year-old, Vasili, wants to see some godawful movie that makes me want to melt my eyeballs out of my head.

via Thing of Things June 27, 2025

Elixir's Last Dance

On May 18th, the contra dance band Elixir had their last gig ever. The dance was packed: there were three hundred people. It was the only dance BIDA has ever done where they sold tickets. People flew from across the country just to hear Elixir play one la…

via Lily Wise's Blog Posts June 5, 2025

Workshop House case study

Lauren Hoffman interviewed me about Workshop House and wrote this post about a community I’m working on building in DC.

via Home April 30, 2025

more     (via openring)