an image-data manipulation tool for creating glitch-art/databend effects with a single click, inspired by sonification
pybend is a python-based application that treats images as raw data and applies distortions to create controlled glitch art. it allows you to manipulate images in ways similar to how data can be "bent" in applications like audacity but with a single click
- 10 glitch effects
- intuitive interface with realtime previews
- highly optimized performance processing using numba for jit compilation
# clone the repository
git clone https://github.com/stateflux/pybend.git
cd pybend
# install dependencies
pip install -r requirements.txt
# run the application
py bend.py
- launch the application (first launch can be slow as numba compiles - subsequent runs will be faster)
- drag and drop an image onto the interface
- change effect intensity to achieve desired results
- save your creation(s) when satisfied
pybend includes several effects for image manipulation:
- color-range shifter: remaps specific narrow color ranges to discolor small regions
- chunk duplication: duplicates chunks of image data
- phantom regions: extracts single-channel data to impose ghost-like artifacts upon the image
- palette swap: remaps colors in blocks
- zeta inverse: applies 0-20-step zeta to pixel data (bloated inversion, but it looks 10x cooler)
- wave propagation: creates wavelike distortions
- selective channel corruption: corrupts specific rgb channels
- bitdepth reduction: reduces bit depth for noisy posterization effect
- reverser: reverses data segments
- mirror: creates mirror effects
- bleed blur: creates blurry color-bleeding/compression artifacts
- python 3.6+
- pyqt5
- numba
- numpy
- pillow
-
perf:
- pytorch (cuda) support for O(n) timeline processing when i get my 3070 (this is probably never happening)
- another perf (maybe refactor) pass of color_range_shift, zeta, phantom_regions
-
general:
- add cooler effects: context-aware fill/smear (high prio), radial fx, something fractals, wahwah
- more intuitive intensity-scaled fx selector and probably intensity scale as a whole
- gif/webp support
- flask
-
improve ux:
- pypi packaging
- higher user autonomy (fx selector, strength settings)
- cleaner init (pyinstaller)
- icon
- ability to use glitched image as source with button (reglitch)
- examples of what each effect actually does on its own
- disclaimer for images >10mp
jump in if you wanna help - all contributions welcome
built with ♥ and an appreciation for digital imperfection