This project is still a work in progress, but I'm slowly working to add new filters, and improve the documentation.
- This program uses opencv with python, which requires at Python version 3.6 or higher, and pip 19.3 or higher
- When downloaded/cloned from the repo, navigate to the root directory ("/glitch-fx") and install the necessary dependencies with: After everything is installed, run the main script by typing:
pip install -r requirements.txt
into the command line.python glitchfx2
- Running this program for the first time will create a "src" folder if not already created, for you to store your images in at the root folder ("/glitch-fx/src").
- With a source folder in place, running the above script again should lead to the following prompt: where you input the filename of any image in the "src" folder like this:
Choose an input image file:
You can also add a float value above 0.0 to scale the image up or down (where ommitting it or entering 1.0 will keep the original image size). For examplesample.jpg
will scale the image by half.sample.jpg 0.5
- A recurring prompt will be shown afterwards saying exactly what it sounds like. You can refer to the tables below, but the input will be in the following format:
Enter an effect ~ x to finish:
Example:effectname parameter value
noisy -p 0.2
- When done, press 'x' to exit and display the result
Operation | Available Parameters |
---|---|
noisy | -p |
scanline | -or |
highpass | -p, -k, -a |
scanner | -s, -e, -or |
burn | -p |
warp | -t, -f |
random shift | -p, -s, -e |
hueshift | -p |
Parameter | Full Name | Expected Input |
---|---|---|
-p | percent | A normalized float value between 0.0 and 1.0 |
-or | orientation | h or v (for 'horizontal' or 'vertical') |
-k | kernel size | An odd integer greater than 1 (3,5,7,...) |
-a | amplitude | Any number value |
-s | start | A normalized float value between 0.0 and 1.0 |
-e | end | A normalized float value between 0.0 and 1.0 (but greater than -s) |
-t | type (of warp) | shearX shearY rotateX or rotateY |
-f | factor | Any number value |
- GUI? (Ideally with tkinter)
- More effects TBD