| fonts | ||
| images | ||
| javascripts | ||
| stylesheets | ||
| index.html | ||
| log_polar_registration_framework.html | ||
| params.json | ||
| README.md | ||
Fractal-Mosaics
Fractal Mosaics is a rotation, scale, and translation invariant photomosaic algorithm (i.e., the images can be placed at arbitrary locations, can be scaled to any size, and can be rotated by any angle).
The figure below shows a Fractal Mosaic and traditional photomosaic made using the same target image and image set.
For a detailed description of the algorithm, see my "paper" on it and documentation links below.
Prerequisites
Fractal Mosaics is implemented in Matlab. You’ll need a copy of Matlab with the Signal Processing toolbox installed (any version should work, most should come with the Signal Processing toolbox).
Getting Started
- Download the demo example (zip, tgz). This has all the code you need. Simply modify the example to create your own mosaics.
- Download the example image set (706 MB database of greyscale images of San Francisco).
- Unpack zip file with images into the /library_images folder in the demo example.
- Navigate to the /m-files directory
- Run ‘fractal_mosaic.m’
Your mosaic is now rendering.
WARNING: it takes a long time to render a mosaic (~6 to 8 hrs on my macbook pro). If you want to optimize it, please do ;)
The demo example creates a black and white mosaic. This is because color takes ~3X as long. To create a color mosaic, download the [color image set](https://docs.google.com/file/d/0B_2ApIVBv Xm1ckhjX3RibVVPdkk/edit?usp=sharing), and set Fractal Mosaics to color mode (see the Variables page for info on this).
Documentation
- Fractal Mosaic “paper”: academic-style paper explaining how the algorithm works
- Wiki: includes pages with step-by-step instructions on how to create your own mosaic and description of variables used to tweak mosaic output.
- Gallery: Flickr page containing finished mosaics
Licencing
Fractal Mosaics is licensed under the GNU General Public License (GPL). Some functions used are from the Matlab File Exchange and use the BSD license. This license is "permissive" (can be used for any purpose, commercial or non). If you wish to use Fractal Mosaics for proprietary software, let's talk! (seth.benton@gmail.com)
