I guess you have all seen the Albert Einstein vs. Marilyn Monroe hybrid picture by now, the one where if you look at it from close range you can see Einstein, while looking at it from a distance (or without glasses, for us myopics) brings up a blurry image of Monroe. Originally created by MIT's Aude Oliva, hybrid pictures "combine the low-spatial frequencies of one picture with the high spatial frequencies of another picture producing an image with an interpretation that changes with viewing distance". You can see other examples of this technique in this gallery.
The end result is cool, and that's why I've decided to implement a simplified version of Oliva's algorithm, following the method described in this blog post on the Hacker Factor blog. To make it more of a challenge, I wrote it in javascript and html canvases. Needless to say, I've little knowledge of the two, so the code is less than optimal (I really should refactor it). Hope you find it useful, or at least fun!
Word of Warning: This app will probably not work for you if you are using an old browser without html5 support. Like Internet Explorer. I'm looking at you dad.
Me! My name is Rouli, and apparently I have too much spare time. After reading that Hacker Factor post I've decided to give it a try, and surprisingly got it working within a few hours. From then on, there was no turning-back, I had to finish it and share it with others. If you like this little app, you may also like my other silly projects (read: time-wastes), such as future prediction via search results, or my mossaic of Mario made from 1000 fridge magnets.
Since I really have no web development knowledge, I stole and borrowed from many places: