Yeah, if you're using lossless compression like PNG or GIF, adding a lossy step to reduce the number of colors in the palette can help.
If you're compressing photos, you should use JPEG or WebP.
Anecdotally, JPEG usually beats dithering, and WebP always does.
It's fine to dither images but please please admit that you're doing it for the aesthetic. WebP has very broad browser support and absolutely blows dithering out of the water for compression. You are not going to beat years of research and tuning with "use fewer colors".
I remember a YouTube video about "How we did the impossible and got full-motion video for this Sonic game on a system that couldn't do FMVs", and the answer was like, "Well, we used a low resolution, and then we reduced the color palette, and then we cut the frame rate, and then we did interlacing." None of that's impossible! That's like saying you built the Pyramid at Giza using only a bucket of Lego bricks! It's not the same pyramid! Anyone can use a lower resolution! It takes effort and teamwork to come up with a codec that actually compresses data without artifacts!
It aims to 'knock out' some areas of the image: make them transparent in the digital image so those areas are not part of the final film. This means less of the surface of the t shirt has film on it, allowing it to be breathable and flexible.
I got some DTF prints made before I knew you were meant to do this. The tutorials online required a lot of steps so I made the above for next time. Not tested for real yet.
Bravo! One of my canary projects for LLMs has been a spot color / dithering tool; very much an amateur screen printer, and it seemed a way to spark my own interest to do some multicolor prints. Suffice to say the models couldn’t handle it, but I haven’t checked in a generation or two, so this is great motivation to try again!
Cool effect! It feels a bit like a deep-fried meme to me, but that might just be me!
I tried doing something similar a couple of years ago and gave up after running into the exact same issues in the post. It's really difficult to replicate proper halftoning on a computer screen without getting moiré patterns and weird artifacts because of PPI, aliasing, and other stuff. Beyond that, print and screens are just fundamentally different ways of rendering things.
I vaguely recall stumbling across a site years ago that could do something like this in the browser, with various bits 'n bobs you could poke at. Can't find it now.
Very nice results, I really like the way it looks like a printed page. Image processing is addictive - once you start playing around it is hard to stop.
Yeah this is important when you print images, since printers can reveal banding artifacts you can’t see on a monitor. I learned this the expensive way printing a batch of large format images that had gradients in them, without dithering. This is also how I learned one way that Photoshop was for professionals and GIMP & ImageMagick weren’t; At the time (and this was years ago, to be fair), Photoshop dithered by default when going from 16 to 8 bits, while those popular open source tools did not and also did not even have good ways to do it manually by adding the right amount of noise before changing the bit depth. I don’t know what the open source tools do today, maybe they’ve fixed it, I haven’t checked.
Why is this not a typical data augmentation method for training deep networks? It would allow the networks to learn invariants that's align with humans. Currently, I suppose none of these dithered images would be correctly classified.
Yeah, if you're using lossless compression like PNG or GIF, adding a lossy step to reduce the number of colors in the palette can help.
If you're compressing photos, you should use JPEG or WebP.
Anecdotally, JPEG usually beats dithering, and WebP always does.
It's fine to dither images but please please admit that you're doing it for the aesthetic. WebP has very broad browser support and absolutely blows dithering out of the water for compression. You are not going to beat years of research and tuning with "use fewer colors".
I remember a YouTube video about "How we did the impossible and got full-motion video for this Sonic game on a system that couldn't do FMVs", and the answer was like, "Well, we used a low resolution, and then we reduced the color palette, and then we cut the frame rate, and then we did interlacing." None of that's impossible! That's like saying you built the Pyramid at Giza using only a bucket of Lego bricks! It's not the same pyramid! Anyone can use a lower resolution! It takes effort and teamwork to come up with a codec that actually compresses data without artifacts!
They did in the article.
> My goal was to immitate a printed image.
https://tools.encona.com/dtf
It aims to 'knock out' some areas of the image: make them transparent in the digital image so those areas are not part of the final film. This means less of the surface of the t shirt has film on it, allowing it to be breathable and flexible.
I got some DTF prints made before I knew you were meant to do this. The tutorials online required a lot of steps so I made the above for next time. Not tested for real yet.
I tried doing something similar a couple of years ago and gave up after running into the exact same issues in the post. It's really difficult to replicate proper halftoning on a computer screen without getting moiré patterns and weird artifacts because of PPI, aliasing, and other stuff. Beyond that, print and screens are just fundamentally different ways of rendering things.
https://en.wikipedia.org/wiki/Dither#Applications
Surface-stable fractal dithering:
https://www.youtube.com/watch?v=EzjWBmhO_1E
And the technical deep dive:
https://www.youtube.com/watch?v=HPqGaIMVuLs
To learn more about halftones, I'd recommend PDF specification, pages 303-307.
https://opensource.adobe.com/dc-acrobat-sdk-docs/standards/p...
>But if you care about the method this is not dithering.
> I looked it up, the translation in this case is, in fact, simply "half tones" :^)