Skip to content

Use a genetic algorithm to evolve an image by putting emojies on a canvas

Notifications You must be signed in to change notification settings

iver56/emoji-art-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emoji Art Generator

Description Image
Target image Target image
RGB MSE fitness Evolved emoji image
LAB MSE fitness Evolved emoji image
LAB Delta E CIE 2000 fitness Evolved emoji image
LAB Delta E CIE 2000 combined with SSIM fitness Evolved emoji image
SSIM fitness Evolved emoji image

Setup

  • conda env create

Usage

Prepare a target image (store it in data/target_images/) and a set of emojies/tiles (store them in data/emoji/). Then run the following command:

python -m app.generator.generate

usage: generate.py [-h] [--starting-canvas STARTING_CANVAS] [--target TARGET]
                   [--fitness {RGBMSE,LABDeltaESSIM,LABMSE,LABDeltaE,SSIM}]
                   [-g NUM_GENERATIONS] [-p POPULATION_SIZE] [--width WIDTH]
                   [--height HEIGHT] [--emoji-size EMOJI_SIZE]

optional arguments:
  -h, --help            show this help message and exit
  --starting-canvas STARTING_CANVAS
                        Path to an image to start with. If not specified, a
                        white image will be used.
  --target TARGET       Filename of target image. Should reside in
                        data/target_images/
  --fitness {RGBMSE,LABDeltaESSIM,LABMSE,LABDeltaE,SSIM}
                        Choose fitness evaluator. See fitness.py for more
                        information.
  -g NUM_GENERATIONS, --num-generations NUM_GENERATIONS
  -p POPULATION_SIZE, --population-size POPULATION_SIZE
  --width WIDTH         If specified, resize the target image (and the
                        starting canvas) to this width. Otherwise, keep the
                        original width.
  --height HEIGHT       If specified, resize the target image (and the
                        starting canvas) to this height. Otherwise, keep the
                        original height.
  --emoji-size EMOJI_SIZE

About

Use a genetic algorithm to evolve an image by putting emojies on a canvas

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages