rudi

Small, fast and simple Python CLI image converter for CNNs.


Keywords
augmentor, cli, convert-images, dataset-augmentation, image-converter, pil, python
License
MIT
Install
pip install rudi==1.0.1

Documentation

Rudi

(based on Augmentor an PIL)

If you want to train a CNN, the custom dataset must be a collection of images of the same aspect ratio, extension, etc. This script is gonna do that for you. Rudi is a command line tool for converting and augmenting your dataset of images.

Installation

Install Python3 and then run the following command:

pip install rudi

or clone the repo firs

git clone https://github.com/liashchynskyi/rudi
cd rudi

and run python setup.py install or pip install .

Usage

Imgur

Convert a dataset

For example, you have a basic tree of the root directory (the script will also work if the root containt only images without other dirs).

root    
└───class1
│   │   image_c1.png
│   │   image_c2.png
│   └───subdirectory    
└───class2
    │   image_c1.png
    │   image_c2.png

Just run rudi convert --help Imgur

Let's convert images in current directory to jpg format and set new aspect ratio to 224px.

rudi convert -t jpg --target-size=224 ./

Output images will be saved in output dir of the root.

Dataset augmentation

Command: rudi augment --help Imgur

There are a few supported operations:

  • flip - random image flipping followed by -p option
  • rotate - random image rotation followed by -p,-mlr and -mrr options
  • distortion - random image distortion followed by -p,-mg and -gwh options
  • skew - random image skewing followed by -p option and constant magnitude value of 0.7
  • zoom - random image zooming followed by -p,-minf and -maxf options

Output images will be saved in output dir of the root.

Changelog

  • 1.0.1
    • Fixed problem when converting images. Now if image is placed in subdirectory then that subdir also will be created in output dir.