Mosaic_Image
Mosaic_Image copied to clipboard
Code implementation for the article: "How to Build a Mosaic Image Generator from Scratch"
Mosaic-Image
Code implementation of the article: "How to Build a Mosaic Image Generator from Scratch"
Requirements: PIL, Numpy, Pandas
Inputs: A set of source images, a target image
Output: A mosaic image that mimics the target image based on the set of source images
Usage
First, the database of Average RGB from the source images folder need to be generated.
usage: build_datasets_avg_rgb.py [-h] --SOURCE_PATH PATH
arguments:
-h, --help show this help message and exit
--SOURCE_PATH Path to source images folder
Then based on the generated Average RGB dataset and the target image, we can generate the final mosaic image.
usage: create_mosaic.py [-h] --pixel_batch_size 1 --output_width 100
optional arguments:
-h, --help show this help message and exit
--pixel_batch_size control the detail of picture, lower means more detail but takes longer time to produce.
--rmse_threshold control the color similarity, try as lower as possible in the beginning. If adjust_threshold is 0 and if there is an error indicating "too lower threshold" then try to add the value slowly
--allow_use_same_image {Y,N}. If Y then the generator is allowed to use same picture many times
--adjust_threshold value of adjusted threshold for pixels which have rmse higher then the given initial threshold. If 0 then it will not adjusted
--output_width the width of output image. Height will be adjusted to maintain the aspect ratio
--target_PATH PATH to the target image
--OUTPUT_PATH PATH to the output image
Created by:
Louis Owen
LinkedIn: https://www.linkedin.com/in/louisowen6