/glitch-this

:camera: Glitchify static images to glitched images and GIFs!

Primary LanguagePythonMIT LicenseMIT

glitch-this!

Create glitched images and GIFs, with highly customizable options!


Pypi release Stars Pypi downloads Python 3 License

A commandline tool + python library to glitchify images and even make GIFs out of them! Featuring 100 gradually different levels of glitching intensity! The algorithm used to create glitched images is a slightly modifed version of the popular ImageGlitcher tool's algorithm, so you can expect the glitched images to look really cool!

NOW WITH GIF TO GLITCHED GIF SUPPORT! Check out the docs!

If you like using this tool, please consider starring on Github!

demo

What are you waiting for? Import the library and get glitching!

NOTE : Works best with RGB/RGBA images

Checkout a web demo right here, courtesy of @pahefu

What others have to say ~

glitch-this - Create highly customizable glitched images and GIFs! | Product Hunt Embed

FEATURES!

  • Choose any glitching intensity between 0.1 and 10.0, yes those are floats!

    Each level is gradually different!

    Want just a tiny bit of glitching, enough to make your image look cool? - use level 2 (my favorite)!

  • Add scan lines for a retro CRT effect! Add color offset for even cooler glitching!

  • Create Glitched GIFs from a normal image!

    That's right, before this tool, I had to manually download each image from ImageGlitcher, save them, and then head to a GIF creation website.

    Now you can do it all at once!

  • Glitch normal GIFs into glitched GIFs!

  • Customize step of glitching, you can glitch every step'th frame instead of all frames!

  • Increment/Decrement glitching intensity while glitching every frame!

    So you can have a frame glitched with intensity 2, but the next can be 5, the next to that can be 8 and so on!

  • Customize the number of frames in a GIF as well as their duration - all from the comfort of your terminal!

  • Set how many times the GIF should loop!

  • Set your own custom seed for a predictable RNG!

Changelog

View the changelog here

Requirements

  • python 3
  • pillow
  • numpy

These will be automatically installed when you install the library! (assuming you have python3)

Installation

Simply install glitch-this from pypi!

pip install glitch-this

(OR)

pip3 install glitch-this

Quick Start

Now that you have the library installed, all you need to do is invoke the script and pass in the params

glitch_this [IMAGE PATH] [GLITCH_LEVEL]

quick_basic

Try glitch_this -h for more info! Directly from your commandline!

Or, Check out the script docs!

Interested in the library? Check out the library docs!

DOCS! WHERE TO?!

Read the script docs!

Read the library docs!

Check out a full example using the library!

Whoa! Cool Glitches

Here's some glitched images generated from this script - of different intensity levels!

NOTE: All these images had -c parameter included, for color offset

Original image for reference:-

og_img

Glitched version - Level 2:-

glitched_2

Not badly glitched now is it?

Glitched version - Level 5:-

glitched_5

Well it's certainly starting to get glitchy

Glitched version - Level 8:-

glitched_8

I don't know what I'm looking at

Let's get some scan lines on there!

Glitched version (scan_lines)- Level 2:-

glitched_2_scan

Glitched version (scan_lines) - Level 5:-

glitched_5_scan

Glitched version (scan_lines) - Level 8:-

glitched_8_scan

That's neat, but how about some GIFs? Here's some GIFs from the same image:-

Note: All the GIFs use default values from FRAMES and DURATION, i.e 23 and 200 respectively

Glitched GIF - Level 2:-

glitched_gif2

Glitched GIF - Level 5:-

glitched_gif5

Glitched GIF - Level 8:-

glitched_gif8