Java logo

photo montage

home | software | photo montage

I've always wanted to try and write an application that makes those photo-montage images.

Finally I've written one. It's a bit crude though. The results are interesting, though tend to be a little grey. This might be improved by increasing the saturation of the target image before attempting any matching. I wrote this a while ago in Java. I'd like to re-write it in C# as I expect to get better performance. I also found the Java2D APIs did a poor job of image scaling, though they may have improved since then.

For now, a few sample images:


My brother Kim and I -- A photo montage
hold the mouse over to see the source image

This one is starting to look a little more promising. This photo of my Brother Kim and I has well defined lines and solid colours. The clarity of the lines in the generated image indicates that the algorithm is really trying to do the best job it can. Check out the strand of hair hanging over my forehead, the clock on the mantle and the definition of Kim's tshirt. When this image came out, I realised the primary problem is having a large range images. Popping your holiday snaps in on their own just won't cut it. This image was generated from a pool of around 2,400 images. Testing data is a collection of celebrity photos leeched from celebrity archives (I did the leech using my own spider).


Ruchie wearing a snorkel and mask -- A photo montage
hold the mouse over to see the source image


Ruchie and Laura -- A photo montage
hold the mouse over to see the source image

Valid XHTML 1.1