All Projects → rkargon → Pixelsorter

rkargon / Pixelsorter

Licence: gpl-3.0
Pixel sorting tool for Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pixelsorter

Watimage
🖼 PHP image manipulation class
Stars: ✭ 25 (-65.75%)
Mutual labels:  image-manipulation
Bringing Old Photos Back To Life
Bringing Old Photo Back to Life (CVPR 2020 oral)
Stars: ✭ 9,525 (+12947.95%)
Mutual labels:  image-manipulation
Popbot
Color splash effects using Deep Learning
Stars: ✭ 61 (-16.44%)
Mutual labels:  image-manipulation
Mindseye
Neural Networks in Java 8 with CuDNN and Aparapi
Stars: ✭ 8 (-89.04%)
Mutual labels:  image-manipulation
Photon
⚡ Rust/WebAssembly image processing library
Stars: ✭ 963 (+1219.18%)
Mutual labels:  image-manipulation
Nimp
Nimp - Node-based image manipulation program.
Stars: ✭ 45 (-38.36%)
Mutual labels:  image-manipulation
Images
Source code of images.weserv.nl, to be used on your own server(s).
Stars: ✭ 798 (+993.15%)
Mutual labels:  image-manipulation
Merge Images
Easily compose images together without messing around with canvas
Stars: ✭ 1,172 (+1505.48%)
Mutual labels:  image-manipulation
Imagene
A General Purpose Image Manipulation Tool
Stars: ✭ 36 (-50.68%)
Mutual labels:  image-manipulation
React Easy Crop
A React component to crop images/videos with easy interactions
Stars: ✭ 1,093 (+1397.26%)
Mutual labels:  image-manipulation
Cherish
🏰 Sketch- and image-based system for 3D representation and documentation of cultural heritage sites
Stars: ✭ 27 (-63.01%)
Mutual labels:  image-manipulation
Image To Image Papers
🦓<->🦒 🌃<->🌆 A collection of image to image papers with code (constantly updating)
Stars: ✭ 949 (+1200%)
Mutual labels:  image-manipulation
Mopaint
🎨💪 Modern, modular paint and more! (pre-alpha, not much done yet)
Stars: ✭ 50 (-31.51%)
Mutual labels:  image-manipulation
Cometa
Super fast, on-demand and on-the-fly, image processing.
Stars: ✭ 8 (-89.04%)
Mutual labels:  image-manipulation
Dna Gan
DNA-GAN: Learning Disentangled Representations from Multi-Attribute Images
Stars: ✭ 65 (-10.96%)
Mutual labels:  image-manipulation
Contrastive Unpaired Translation
Contrastive unpaired image-to-image translation, faster and lighter training than cyclegan (ECCV 2020, in PyTorch)
Stars: ✭ 822 (+1026.03%)
Mutual labels:  image-manipulation
Dali
Dali is an image blur library for Android. It contains several modules for static blurring, live blurring and animations.
Stars: ✭ 1,021 (+1298.63%)
Mutual labels:  image-manipulation
Imageviewer
HDR, PFM, DDS, KTX, EXR, PNG, JPG, BMP image viewer and manipulator
Stars: ✭ 71 (-2.74%)
Mutual labels:  image-manipulation
Pix2pix
Image-to-image translation with conditional adversarial nets
Stars: ✭ 8,765 (+11906.85%)
Mutual labels:  image-manipulation
Realismcnn
code for predicting and improving visual realism in composite images
Stars: ✭ 53 (-27.4%)
Mutual labels:  image-manipulation

PixelSorting

A python library for pixel-sorting images. This includes a script for easy pixel sorting from the command line, as well as library code that is abstracted and easily extensible for custom features.

Features

  • A variety of sorting paths
  • Many different sort functions
  • Edge detection for sorting boundaries
  • Sorting individual tiles within an image
  • Support for sorting GIFs and creating animated sorts.

Installation

PixelSorting requires the Pillow module for image manipulation.

One can run pip install -r requirements.txt to download any necessary modules.

Usage

To run the script, use the command python pixelsort.py <image> -o <result> to sort a given image and store it in <result>. Use the --log flag to view progress for sorting particularly large images. Various sorting options are described in detail in the full documentation. One can also run the script with the -h|--help flag to see the full list of options.

Given the following original image:

Original Image

The default sorting settings will produce:

Default sorting

One can also sort certain intervals using the -i flag. The flags -i 50 -r will sort random intervals of length up to 50 pixels:

Sorting random intervals

There are a variety of possible sorting paths, specified using the -p flag. For example, -i 100 -r -p diagonal will produce:

Sorting diagonally

Paths can also accept arguments. For instance, the flag -p "angled-line angle=60" passes the argument angle=60 to the angled-line path, and sorts pixels in lines tilted at 60 degrees:

Sorting with angled lines

Sorting paths are explained in more detail in the paths documentation.

Animation

The pixelsorting script supports animation using the --animate flag. The syntax is --animate "<param> initial_value end_value num_frames", where the given parameter is interpolated between the start and end values for the given number of frames.

For instance, the flags --animate "max_interval 2 30 15 will produce the following animation: Animated sort

One can also animate path arguments using the syntax path.arg. For instance, -p angled-line --animate "path.angle 0 90 20" will produce a 20-frame animation in which the angle of sorting goes from horizontal to vertical.

One can also run the script using animated GIFs as input.

License

This software is licensed under the GNU GPL license, which can be found in LICENSE.txt. In short, one is free to use, modify, and redistribute this code, under the GPL license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].