color sorting by k-means segmentation
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
past collages

What is?

Started as Python OpenCV experiment to make a collage of album art. Began to explore methods to automatically determine order. Implemented simple linear classifiers with promising results, training order based upon input from k-means segmentation of the images in LAB color space.

Getting Started


  • python3
  • opencv2
  • numpy + matplotlib
  • sklearn


Clone into a directory

git clone

Enter directory and make directory for source images

cd AlbumArtPosterMaker
mkdir src_images"

Gather album art from somewhere (eg., AlbumArtExchange), and save images into directory for source images. Works best with square images of at least 300x300px.

From top level directory, run:

python3 ./src_images

Sit back and wait! Collage should be written in top level directory after images' dominant color is assessed

Future Work (TODO)

  • Gather human ordered data (Mechanical Turk, 3Blue1Brown sponsor, etc.)
  • More robust classifiers
  • Read suggested materials from Prof Nayar OH
  • Continue updating README to follow good practices template


11/01 Office Hours with Prof Nayar

  • Color Indexing by Swain and Ballard
    • Will get far
    • Easy way to do search
    • Constrain dimensions (255->10) and normalize
      • Histogram is reduced
      • Easier to train on
  • Histogram intersection
  • Not just sorting, also matching
  • 3 images, center is closer to which?
    • Mechanical Turk (Amazon)
    • Or build on website and send to people
      1. Scrape all album covers from website
      2. Set up interface for comparison