I am fascinated by collages. The magical part of it is that, as you get closer to the picture, you see something else. You can use your Facebook friends' photos, or the ones in your disk drive.
Inspired by Facebook Friend Collage, I wrote an application in Java. It worked really well, and now I want to build an iOS app. Here is the algorithm.
1. Choose the background image that you want to regenerate from the image tiles. Then divide the image by perfered width and height.
2. Calculate the average R, G, B values of each cropped image. You can easily do that if you can access the pixels. Here is what I did in Java.
3. Then, go through your image tiles to calcualte the average R, G, B values. Once you finish that calculation, you can calculate the 'difference' of RGB values between the two.
4. Find the image tile whose color is closest to the tile image, then stich it one by one. Here is the result.
I made the image tile set with my Facebook friends' photos, and rebuilt the image of Jeremy Lin. In reality, I had to made the image tiles a bit transparent, so that I could tell what the image is. When I used alpha=0.5 or 0.6, it looked good.
I posted this application to Facebook, and many of my friends wanted it. A friend of mine actually created a collage photo of him and his girlfriend, by stiching hundreds of photos that he took with his gf.
Now that I know that there is a need, I would like to build this app in iOS. I did not find any simliar application on the app store.