October 24th, 2013 @ 11:14 AM

ImageKit is a personal project of mine, which I use for rapidly developing image processing filters and computer vision algorithms. The library is written in C, with CPython bindings, making it easy to prototype a filter/algorithm in Python to be later ported it to C.

The primary motivation for this project comes from the lack of libraries that focus on fast prototyping. While OpenCV may be great for doing production quality computer vision projects, its API is very complex, and even different between languages. This makes developing new algorithms slow and tedious, and porting them to a faster language difficult.

Source Code on GitHub

Here are some notable projects I've built using ImageKit.

Color Palette Extractor - I developed my own algorithm for extracting human-useful color information, which runs in slightly worse than O(N) time. My algorithm returns an array of color samples, along with how frequently they appear. Unlike other algorithms (typically based on k-means clustering), my algorithm takes into account colors that don't appear frequently, but have very high meaning to humans, such as highlights and font colors.

Tetris Playfield to Graph - This is the basis for a larger and more ambitious project of mine. In its current state, it can detect playfields in Tetris, and convert them to graphs. Eventually, I would like to turn this into a machine-learning project, which plays the NES version of Tetris on an actual NES console, with the aid of a camera and a Teensy dev board for sending input events.

Post Comment
©2011 Cameron Eure. All rights reserved.