Mosaic generator

Photo mosaic generator. Choose a tile image, and a directory with images, and see the magic.
Updated 28 Aug 2014

View License

This functions goal generate a mosaic image based on a single (usually large) main image, and multiple small tile images. A large mosaic image will be randomly generated from the multiple tile images. The resulting mosaic image will be combined with the main image, forming the desired result. The ratio between images “strength” is defined by the Overlay Ratio ranging between [0:1]. Smaller value will make the large main image be dominant, while larger Overlay Ratio will make the mosaic image (formed from tiles images) more obvious, at the expense of the main image. The user can (and should) define regions with different Overlay Ratio values. For example when the main image is a portrait, the Overlay Ratio value around the face should be small (about 0.2), while it can be high about 0.7) in other less important areas. The user can also resize the final image, sharpen the small images, convert them to color (RGB) or Gray images, if needed.
The program was inspired by this video: . After a few attempts via Photoshop I’ve decided to switch to a field where I feel more confident (Matlab), and enjoyed doing it. Later on I’ve seen the other Matlab based implementation, some better than mine, but I believe mine can be useful to someone as well.
Have fun!
In case of comments I'll try to fix the code.
Get the most updated "input to files list" function (submission 34944- for this one.

Cite As

Nikolay S. (2024). Mosaic generator (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Improved memory management and minor chnages

Taken care of disappearing persistent variable (when Matlab is closed for example).

Added persistent variable to prevent re-reading images. Consumes memeory.
Updated filesListFromInput function used

- some documentation inprovements
- filesListFromInput changed to support recursive files listing via (slightly modified) fuf.m thanks to Francesco di Pierro.

- Packed into an App, for easier use.
- Files selection function modified

Some bugs fixed, some new features added or modified.

- Compatibility with R2011b (fileparts outputs change) resolved.
- Integration of "List of files form directories/files list or browser" allows flexible choice of sub-image files/directories.
- sub-image size GUI updated.

- Better GUI for sub images choosing.
- Better GUI- sub-image size.
- Compatibility issue with R2011b (fileparts) resolved.