How about making up a photo of hundreds or thousands of small photos? Sounds complicated but it isn’t.
Right from the beginning it should be mentioned that such a photo makes sense most if you want to print it in really large format. Imagine you had a master picture of 20×30 cm made up of hundreds of very tiny images. You could hardly see the small images even if you went close. However, if you want the master picture to be some 200×300 cm for example the small ones could be 5×5 cm or something similar. In that case, seen from far away you would notice the master picture, moving in closer you would see all the tiny small photos the master pictures is made of. Here is an example, though at web resolution and on a PC screen the effect is rather “poor”.
The concept is to have a master picture which is splitted into a raster of let’s say 20×30 images (for good results a minimum of 50×70 is recommended). Now you have a pool of photos, the more the better (at least 500), which Picture Medley compares with the splitted tiles trying to find photos from your pool which match the tiles best. If all your pictures have a blue sky background, it won’t work well, but if you have a pool of pictures which are all very different it can give you amazing results. This is great in advertising, if you have a billboard people can see from far away and where they can walk by closely too.
The larger the photo and the more tiles, the longer it takes to calculate it, but the application to create those photos is free and you can try it out yourself: Picture Medley by Steve Dodge (thanks Steve for this great free software).