Mosaic creates photo mosaics, composited images of many small photographs stitched together in such a way as to resemble a single target photograph.
It’s written in Matlab and takes as input a large collection of images, and a single “target image”, i.e. the photo the mosaic should represent. It divides the target into a grid, and fits individual photographs into each “pixel” to maximize the overall color similarity between source and target, using an implementation of Earth Mover’s distance. Code here, though requires Matlab :(