I like it! The filters make for a simple yet convincing glitch effect even with the basic block generation algorithm.
If you would like to go an extra step to make it look even fancier, you could try introducing some more block variation (e.g thin lines, squares, rectangles) that could be done with noise based tiling (e.g simplex/perlin). Throw in some RGB shifting and image cropping for some of the blocks and you'll probably get something real nice.
I implemented a glitch effect some time ago using what I described above, you can see what it looks like (under glitch transition). Hopefully it can provide some inspiration :-)
Nice! I've experimented a bit with bijective compression for making glitch images myself (mostly because it was easier and more fun than trying to make a practical bijective compressor).
I did a burrows-wheeler transform (the central technique of bzip2) on the pixels of an image, edited a few pixels in the transformed image, then inverted the transformation. It gave me results like this:
That's an interesting effect. I assume the affected blocks are set up so that each row uses the glitch factor of the row above and varies from it by a (small) random value?
I recently wrote a glitch filter for my canvas library[1]. It might be a fun Christmas project to add functionality to emulate that effect in the filter.
It sort of emulates MPEG2 macroblock errors where the decoder would give up on a row of macroblocks (leaving previous image data unchanged) and restart on the next line. In that case the glitches often started part-way along a line with a badly errored square macroblock in magenta or green.
This is great! I took the same approach to my glitch art: edit the file data to introduce glitches true to the image format. It's been over a decade since then and your post has me itching to get back into it so thank you!
The results produced here are really nice. Simple tool ultimately but I've used similar before where the images are technically 'glitched' but are certainly not aesthetically pleasing.
This outputs some good looking stuff. Perfect for an idm album cover!
It's a nice filter, but not a glitch. True glitch should unpredictably damage data or device. The point is to seek aesthetics in malfunction. The generator mentioned in other comments https://snorpey.github.io/jpg-glitch/ looks more authentic.
This is what I was thinking. This glitch example in particular just does not look real. More like inspired by type of thing. Take an image and randomly tweak some of the data via hex editor (do it inline with a python type script). Get a real glitch right from the decoder!
I have the same feeling towards a lot of the video glitches where they try to make digital video look like it has VHS level issues. The source video captured today is just so much more detailed than VHS, so even glitched it looks clean.
Super interesting! I've been playing with this and with glitch art. If I may make a request though, adding an explicit license to your code on GitHub would be primo.
Is there something in the algo that inherently skews the effect to the right ?
All times I tried the glitches were to the right of the center of the image.
I feel like the glitch starting x position and the length are both being randomly generated based on the dimensions of the image, which results in more glitchiness on the right edge than the left edge?
If you would like to go an extra step to make it look even fancier, you could try introducing some more block variation (e.g thin lines, squares, rectangles) that could be done with noise based tiling (e.g simplex/perlin). Throw in some RGB shifting and image cropping for some of the blocks and you'll probably get something real nice.
I implemented a glitch effect some time ago using what I described above, you can see what it looks like (under glitch transition). Hopefully it can provide some inspiration :-)
https://aeroheim.github.io/midori/