Skip to content

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

License

Notifications You must be signed in to change notification settings

whiplashoo/split-image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

Directory batch process:

split-image image_dir 4 2

Will split all images contained in the image_dir folder.

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.

Quiet mode:

split-image test.jpg 3 4 --quiet

Will suppress all log messages (except errors and warnings) when running.

Arguments list:


positional arguments:
  image_path    The path to the image or directory with images 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'). 
  --quiet                   Run without printing any messages.

Cat photo by Manja Vitolic on Unsplash

Bridge photo by Lance Asper on Unsplash

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages