finds.dev← search

// the find

nuno-faria/tiler

★ 6,043 · Python · MIT · updated Oct 2023

👷 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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →