// the find
nuno-faria/tiler
👷 Build images with images
Tiler converts a target image into a mosaic built from smaller tile images — circles, lego bricks, minecraft blocks, cross-stitches, or any custom shape you provide. It uses OpenCV for color matching and supports variable tile sizes and rotations. This is a fun creative tool, not a production library.
The multi-shape support is the real differentiator — most mosaic tools only do squares, and Tiler genuinely handles arbitrary non-rectangular tiles. The gen_tiles.py helper that pre-generates a color-variant set from a single source tile is a practical touch that saves you from manually preparing hundreds of colored tiles. Multiprocessing support via POOL_SIZE means large images don't take forever. The pixel_shift parameter giving you sub-tile overlap control is surprisingly useful for getting smoother gradients with irregular shapes.
Configuration lives entirely in conf.py as hardcoded constants — there's no CLI flag system, so changing IMAGE_SCALE between runs means editing a file, which is annoying for scripting. The project has been dormant since October 2023 with no releases, no packaging on PyPI, and no tests whatsoever. The color matching algorithm is a simple nearest-neighbor in quantized RGB space; images with gradients or fine detail look noticeably blocky at reasonable tile sizes. No GPU path — everything runs on CPU, so very high-resolution targets with small tiles will be slow even with multiprocessing.