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!
Which, more often than not, causes weird titles I’m more likely to click due to sounding curious and interesting, undoing the entire point of the feature.
I would not have clicked on “How My Images Are Dithered” but this truncated version made it sound more like an interesting bug story.
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.
Yeah. But even if you stay in the digital realm, dithering is necessary at 8bits per component. Consider that a grayscale gradient can only have 256 distinct levels.
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.
> Dithering can reduce file size
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's fine to dither images but please please admit that you're doing it for the aesthetic
They did in the article.
> My goal was to immitate a printed image.
If you're doing halftoning with the intent to get custom DTF (direct to film) prints for t shirts, you might find this tool helpful:
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.
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!
Title here is missing "How" as in "How My Images Are Dithered"
That’s a hn filter to avoid clickbait titles I think
Which, more often than not, causes weird titles I’m more likely to click due to sounding curious and interesting, undoing the entire point of the feature.
I would not have clicked on “How My Images Are Dithered” but this truncated version made it sound more like an interesting bug story.
My Title Was Dithered
I suppose it is a type of dithering, but really this is Halftoning
Yes, which of course is still cool. Probably the main point.
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.
Speaking of which, are there any good ways to undither images? Things like GIMP FFT are not perfectly reversible.
No, although AI gets really close. Dithering represents adding noise to an image and also represents doing a lossy type of compression.
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.
Every image should be dithered below 10 bits/component to prevent banding artifacts.
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.
Yeah. But even if you stay in the digital realm, dithering is necessary at 8bits per component. Consider that a grayscale gradient can only have 256 distinct levels.
??? This is halftoning, not dithering
I’d say halftoning is a specific type of dithering. Wikipedia mentions that for print, some people consider the terms synonymous.
https://en.wikipedia.org/wiki/Dither#Applications
See also,
Surface-stable fractal dithering:
https://www.youtube.com/watch?v=EzjWBmhO_1E
And the technical deep dive:
https://www.youtube.com/watch?v=HPqGaIMVuLs
Thanks, that looks cool. This is dithering in principle, but using dynamic spot functions.
To learn more about halftones, I'd recommend PDF specification, pages 303-307.
https://opensource.adobe.com/dc-acrobat-sdk-docs/standards/p...
>Is this even dithering?
>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" :^)
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.
I’m sorry, but I can’t understand what you’re saying at all. Explain?