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:

Food Fridays: Blueberry Cobbler

Here is my blueberry cobber recipe, by request of William Friedman.

via Thing of Things January 16, 2026

Why I Don't Think My Braces Were Worth It

A couple weeks ago, I got my braces off. I kind of wish I had never had them, though. When I was younger, two of my teeth were sticking out, and they looked kind of funny. I thought that my teeth were just fine, and I didn't want to get braces. But s…

via Anna Wise's Blog Posts January 3, 2026

Family Christmas

Unlike many families my family celebrates Christmas with really really a lot of our family. This past year there were about 29 people at my Grandfather's house in the week around Christmas. I know what you're thinking: how does that work? It's…

via Lily Wise's Blog Posts January 3, 2026

more     (via openring)