Shape Collage is the latest side project that I've been working on. It is an automatic photo collage making program that can make collages in different shapes. Just look at the collages above and at the end of the post to see what it can do. There are a lot more examples on the Shape Collage web page.
It's really easy to make a collage. You can make one with just 2 mouse clicks and in as little as a couple seconds! It's quite customizable as well, as you can change the shape to really, anything you want. You can even draw your own shape! You can also customize the border, background, etc.
The photos are automatically placed in the desired shape of the collage using a machine learning algorithm that I came up with that is simple, but fast and effective. Basically what it does is put the photos on a page and jiggle them around so they are arranged nicely. This is a much harder problem than you may think. My readers with some knowledge of computer science will be familiar with NP problems. My algorithm isn't perfect, but it does a pretty good job most of the time. If you're really anal about it, you can save the collage as a Photoshop PSD and edit the collage in Photoshop if you don't like the automatic placement of the photos.
I started working on this project b/c I read a paper that automatically created a photo collage and thought that it was really cool, especially since it took me so long to make my Californian photo collage. Since they didn't actually release a program or their source code, I decided to just implement their approach, but it was overly complicated and rather slow - it took several minutes to create a collage with just 30 photos. So, I tried something simpler that was much faster - my program can easily create a collage with thousands of photos. Then I realized that my algorithm didn't have to only create rectangular collages and could also create collages in different shapes, something that I had never seen before, and so Shape Collage was created!
Anyways, check it out and let me know what you think! It's available for Windows, Mac OS X, Linux, and anything that supports Java.