Inspiration

Inspired by the works of Picasso, we attempt to merge the classical art style of impressionism with the modern art of emojis ;).

What it does

This application takes in a png or bitmap image and uses Lloyd's algorithm to perform k-means clustering on that image. After the image pixels are divided into k clusters, we match an emoji character to each cluster based on the emoji's average pixel color. Before doing any clustering, we downscale the image in order to improve run-time.

How we built it

Flask runs the backend of the site. The image is converted using Numpy, Scipy, and Scikit-learn.

Challenges we ran into

Not all emojis appear the same on all devices meaning the images might look nice in a browser, but might not quite look right on mobile.

Accomplishments that we're proud of

It actually works!

What's next for Emoji Exploji

Chrome extension, supporting multiple image file formats (not just bitmap and png), mobile app

Share this project:

Updates