An Open Source Python library for creating photomosaics
Project description
PytoMosaic
PytoMosaic is a Python library for creating photomosaics from images using a set of source images. It supports common image formats and provides a simple API with optional verbose progress output. It also allows reusing preloaded tiles for faster mosaic generation across multiple images.
Features
- Create photomosaics from images
- Supports
.jpg,.jpeg,.png,.gif,.bmp,.tiff,.tifformats - Optional
verbosemode with progress bars usingtqdm - Reuse preloaded tiles with
TileManagerfor multiple mosaics - Easy-to-use Python API
- Compatible with Python 3.10+
- Ability to save files
- Image downloader for fast downloads
Installation
Install PytoMosaic from PyPI:
pip install pytomosaic
Dependencies:
numpyPillowtqdm
These will be installed automatically.
Usage
Basic usage
from pytomosaic import createMosaic
imgPath = "target.jpg"
sourceImages = "source_folder"
cropSize = 50 # Size of mosaic parts in px
# Generate mosaic with verbose progress
mosaic = createMosaic(imgPath, sourceImages, cropSize, verbose=True, savePath="example.jpg")
mosaic.show()
Reusing preloaded tiles for multiple images
from pytomosaic import createMosaic
from pytomosaic.tileManager import TileManager
# Preload tiles once
tiles = TileManager(cropSize=50, sourceImagesDir="source_folder", verbose=True)
# Generate multiple mosaics using the same tiles
mosaic1 = createMosaic("photo1.jpg", tiles)
mosaic2 = createMosaic("photo2.jpg", tiles)
Set verbose=False or leave empty to disable prints and progress bars.
Downloading images from Pixabay
from pytomosaic import downloadImages
key = "YOUR_API_KEY" # Get from Pixabay
amount = 200 # 200 Maximum due to Pixabay restriction
query = "Your Query" # What you want the pictures to be of
pathToDownloadTo = "path/to/download/to"
downloadImages(key, amount, query, pathToDownloadTo, verbose=True)
Examples
Note: These files are stored in the GitHub repo for demonstration purposes. Users installing PytoMosaic via PyPI do not automatically download these images.
Supported Image Extensions
VALID_EXTENSIONS = {
".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".tif"
}
Files with unsupported extensions are skipped and optionally warned about in verbose mode.
License
PytoMosaic is licensed under the GNU GPL v3. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytomosaic-0.1.12.post1.tar.gz.
File metadata
- Download URL: pytomosaic-0.1.12.post1.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
354219ecb6c38deee7a83aa420a56dc298e6e3db6f64b9c43dba188d883eeda9
|
|
| MD5 |
dcc3cf2abfa79f433a496503b2c15d67
|
|
| BLAKE2b-256 |
1005cf78b47d396e1f14b415aa82585fff5390f8fa48f6f305e71ee6e39b18cf
|
File details
Details for the file pytomosaic-0.1.12.post1-py3-none-any.whl.
File metadata
- Download URL: pytomosaic-0.1.12.post1-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
430b996b4bada76ef1bc8fb2e547ebc05397a00ed70d7c2130c9036fd5906152
|
|
| MD5 |
9ea9851e95d4bd1fc12fed8cc1ea3b06
|
|
| BLAKE2b-256 |
02e539569d7c1ecf1fe876f7a7c6a2cc3825d0ec8878a7642e8dcf1b85a2b2dd
|