I've used a program called Metapixel to create a mosaic in this tutorial
First step is to install Metapixel, so on a terminal window, issue this command:-
#yum install metapixel -y
Secondly, create a Directory and dump all your pictures there (lets say "MyPics"). More pictures, better quality. Then create an empty directory (lets say "metapixel_prepared").
Get back to the terminal window and issue this command:
#metapixel-prepare -r --width=50 --height=50 MyPics/ metapixel_prepared/
'metapixel-prepare' command needs to be run before metapixel can be used to prepare source images so that they can be used to create photomosiac. The "-r" tells metapixel to browse through the given repository recursively.
Next thing to be done is to generate the mosaic picture. Place the picture you want to transform into a mosaic (lets say "mypic") and the "metapixel_prepared" directory in the same place, change into that dir and issue this command:
#metapixel --library=metapixel_prepared -s 10 -a 10 --metapixel mypic.jpg mymosaic.jpg