Generate Awesome Photomosaics On Linux With Metapixel

Ok, I admit. I thrashed the servers for a little while using an open source website mirroring tool, which I wont mention, but it’s easy to find. 🙂

About 30,000 user icons later, I present to you a product created by a couple very short and sweet command line tools.



On an unrelated note, I’ll be disabling hotlinking of images shortly, so if you’re going to steal my content, please rehost these images yourself.

So how can you make your own mosaic? Simple! Download and install metapixel, if you’re running Ubuntu, it’s located in the universe repository.

Then we are just a few commands away from generating sweet photomosaics. First, we prepare the images.

metapixel-prepare -r source destination --width=48 --height=48

This copies all images from the “source” folder, (recursively) searching into every folder within, and dumps every image it finds into the “destination” folder after resizing them into 48×48 pixel images. You’ll want to modify the width and height to fit the source images. This took a LONG time for me, since my library of images was so gigantic – but once we’re done preparing the images, you don’t have to do it again. Woohoo!

Next, we actually generate the output file(s) with this one liner:

metapixel --metapixel input.jpg output.png --library destination --scale=35 --distance=500

This takes input.jpg and increases the output size by 35 times (i.e. REALLY BIG IMAGE), uses the library destination and does not repeat any images found in the library closer than 500. It’ll spit output.png after a little while. If you don’t care about repeating images, removing the distance flag will result in MUCH, MUCH faster generation times.

Here’s a another I generated, this HUGE image was scaled down from about 228 megapixels.


In related news, here’s a groovy post over at Kristen Symonds’s blog with a ton of GIMP/Photoshop brushes, check it out, good stuff. 🙂

Which images would you like to see rendered in Digg user icons? I’ve got lots more ideas but not much time to use them, since I’ve got some holiday shopping to do. 🙂

I’m back, here are some more…





Ok last update, promise… this is actually pretty darn fun.

Last Jedi Supper:
The original was a 460 megapixels PNG file (30720×15040 – 370MB) scaled down to 7680×3760 – only 28MP, saved as 70% quality JPEG ended up as about a 7MB file… still HUGE! The GIMP was using about 1.2GB of RAM (Thank god I upgraded last week to 4GB!) while scaling the image.