/split-image

A Python package that lets you quickly split an image into rows and columns (tiles).

Primary LanguagePythonMIT LicenseMIT

split-image

Downloads Downloads

Quickly split an image into rows and columns (tiles).

split-image is a Python package that you can use from the command line to split an image into tiles.

Installation

pip install split-image

Usage

From the command line:

split-image [-h] [-s] image_path rows cols

As a regular module import:

from split_image import split_image

split_image(image_path, rows, cols, should_square, should_cleanup, [output_dir])
# e.g. split_image("bridge.jpg", 2, 2, True, False)

Basic examples

split-image cat.png 2 2

This splits the cat.png image in 4 tiles (2 rows and 2 columns).

split-image bridge.png 3 4 -s

This splits the bridge.png image in 12 tiles (3 rows and 4 columns). The -square arguments resizes the image into a square before splitting it. The background color used to fill the square is determined from the image automatically.

Other options

Reverse split:

split-image cat.jpg 2 2 -r

Will attempt to merge similarly named image tiles to one image. So, if you have these images in the current directory:

  • cat_0.jpg
  • cat_1.jpg
  • cat_2.jpg
  • cat_3.jpg

they will be merged according to their file name:

Cleanup:

split-image test.jpg 4 2 --cleanup

Will delete the original image after the process.

Large images:

split-image test.jpg 4 2 --load-large-images

When working with large images (over 178,956,970 pixels), you may get an error. Pass this flag to override this.

Assign output folder:

split-image test.jpg 2 2 --output-dir <dir-name>

Set the output directory for image tiles (e.g. 'outp/images'). Defaults to the current working directory.


positional arguments:
  image_path    The path of the image to split.
  rows          How many rows to split the image into (horizontal split).
  cols          How many columns to split the image into (vertical split).

optional arguments:
  -h, --help                Show this help message and exit
  -s, --square              If the image should be resized into a square before splitting.
  -r, --reverse             Reverse the splitting process, i.e. merge multiple tiles of an image into one.
  --cleanup                 After splitting or merging, delete the original image/images.
  --load-large-images       Pass this flag for use with really large images.
  --output-dir <dir-name>   Set the output directory for image tiles (e.g. 'outp/images'). 

Cat photo by Manja Vitolic on Unsplash

Bridge photo by Lance Asper on Unsplash