Skip to main content

Generate images of words with configurable augmentation options

Reason this release was yanked:

broken imports

Project description

OVERVIEW

WordSet provides several ways to generate images of text. Various aspects can be configured to be randomly determined: text font, text color, background color, and padding. Additionally, image augmentation can be applied to the images in order to generate data for contrastive learning approaches.

example image

USAGE

minimal configuration
from word_image import WordSet

ws = WordSet()
image = ws.get_wordimage('test')
all random features
from word_image import WordSet

ws = WordSet()
generator_fn = ws.get_augword_generator()
image = generator_fn('test')
random and fixed image features
from word_image import WordSet

ws = WordSet()
generator_fn = ws.get_augword_generator(
    bg_color=(255,0,0),
    text_color=(0,0,255),
    font_name="times",
    font_size=50,
    x_pad=5,
    y_pad=5,
    config=None)
image = generator_fn('test')
batch generation
from word_image import WordSet

ws = WordSet()

# get wordimages of randomly generated words
words, images = ws.get_random_batch(10)

# get wordimages from sampling a wordlist
wordlist = ['book', 'cat', 'artichoke', 'dinosaur', ...
ws.set_wordlist(wordlist)
words, images = ws.get_wordlist_batch(10)

# get specific wordimages
images = ws.get_batch(wordlist[10:20])

INTERFACE

core operations
  • get_wordimage_generator - get a function that will return wordimages, you can specify which aspects of the resulting images will be constant or random.
batch operations
  • get_random_batch - get a batch of wordimages using randomly generated text
  • get_wordlist_batch - get a batch of wordimages sampled from the wordlist
  • get_batch - get a batch of wordimages from a list of words
wordimage generation
  • get_wordimage - straighforward wordimage generation, returns a black text on white background wordimage
configuration
  • add_default_fonts - add a set of fonts to the wordset
  • add_font - add a single font to the wordset
  • set_wordlist - set a list of words to use when sampling wordimages
utility functions
  • get_imgaug_pipeline - get a function that performs several image augmentation operations
  • get_random_text - get a randomly generated string
  • get_biased_rgb - get an RGB color: either a specific color or a randomly generated one. You specify the probability of returning the base color.

FONTS

By default, WordSet loads Times New Roman and Arial from the msttcorefonts set, and Computer Modern Serif and Computer Modern Sans Serif from the cmu fonts package. In Ubuntu, thses can be installed as follows:

sudo apt install ttf-mscorefonts-installer
sudo apt install fonts-cmu

This can be bypassed by setting add_default_fonts to False in the WordSet constructor:

from word_image import WordSet

ws = WordSet(add_default_fonts = False)
ws.add_font(<font_name>, <font_path>)

LIMITATIONS

  • word_image has only been tested on Ubuntu 20

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

word_image-0.1.1.tar.gz (9.2 kB view details)

Uploaded Source

File details

Details for the file word_image-0.1.1.tar.gz.

File metadata

  • Download URL: word_image-0.1.1.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for word_image-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3c48456cbc7e8365031772e209d82d28e3ca99024b7c1c20756e4bfd2a6a1af7
MD5 c159e5850d5e6e83569a3312fb0d7b0b
BLAKE2b-256 4b6b3427adeb4b6156b177337c454e672b310a92152d3d22efac224530e21a40

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page