Sorry for the shilling, but here’s my upcoming project:
Please register your email address if you’re interested in it.
Here’s a sample implementation of SLIC (Simple Linear Iterative Clustering) Superpixel algorithm using OpenCV, C++, and Intel TBB. It’s an adaptation of Pascal Mettes’ version which you can find over here: https://github.com/PSMM/SLIC-Superpixels
Basically the rationale behind superpixels is that, normal pixel grid is an unnatural representation of image. When we view a scene with your eyes, we don’t visualise them as grids, but more like patches or splotches of similar colors. Superpixel is a way to represent those set of colour splotches in images.
The underlying algorithm is similar to K-means. While K-means try to find k number clusters throughout the whole image, SLIC superpixels tries to apply K-means on large number of clusters, but with smaller search region. Commonly superpixels algorithm is used to preprocess image before performing object segmentation.
Here’s some of the results of applying the algorithm, with 400 superpixel clusters
You can read the original literature on SLIC superpixels here: http://infoscience.epfl.ch/record/177415/files/Superpixel_PAMI2011-2.pdf
And here’s my implementation of SLIC superpixels algorithm using C++, OpenCV and Intel TBB: