Live data from Hacker News

Ditherpunk: The article I wish I had about monochrome image dithering

surma.dev

31–40 of 203 posts

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#31

This is such a well-written article: it describes the impetus, it is researched, it has great examples both as code and as output, and it piques interest. In the late 1990's I contracted with an embedded software company to optimize a dithering algorithm for 8-bit MCUs that was used in most laser printers & copiers, and this paper is a really good overview.

Thanks for the kind words!

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#32

Output dependent feedback is another good way to get creamy, evenly dispersed dots in highlight and shadow areas: https://levien.com/output_dependent_feedback.pdf

Pretty shameless Raph :P

I'm trying to figure out whether this is a compliment, a criticism, or both. When topics related to 2D graphics come up, there's a fair chance I've done some relevant work in the area. I plan to continue shamelessly hawking my results, as that's an important part of a research pipeline :)

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#33
post #5

> According to Wikipedia, “Dither is an intentionally applied form of noise used to randomize quantization error”, and is a technique not only limited to images. It is actually a technique used to this day on audio recordings […] Dithering as a digital signal processing technique is also used frequently in the digital control of physical systems. One example of this is in the control of hydraulic servo valves[1]; the…

I would not define it exactly like that. I would say "Dithering is any method of reducing the bit depth of a signal that prioritizes accurate representation of low frequencies over that of high frequencies". This frames it as essentially an optimization problem, with randomn noise being a heuristic way of accomplishing it.

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#34

Earlier quoted context omitted.

Pretty shameless Raph :P

I'm trying to figure out whether this is a compliment, a criticism, or both. When topics related to 2D graphics come up, there's a fair chance I've done some relevant work in the area. I plan to continue shamelessly hawking my results, as that's an important part of a research pipeline :)

Well, I hadn’t heard of it, so I’ll read this tomorrow :D Thanks for sharing.

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#35
Somewhat off-topic, but this reminds me of the impressionist/pointillist styles of painting. There the motivation is not to use a smaller palette, but to typically use a richer palette (including colors on the opposite side of the wheel) so that the image looks much more vibrant and realistic on zooming out, circumventing the limitation of one (flat) color per location.

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#36
The article mentions Bill Atkinson’s dithering algorithm, invented during his work on the original Macintosh. You can also read more about it here: https://www.evilmadscientist.com/2012/dithering/

It’s actually implemented in BitCam iOS app by icon factory: https://iconfactory.com/bc.html

And Emilio Vanni did a neat e-paper display experiment with it here: https://www.emiliovanni.com/atkinson-dithering-machine

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#38

Shameful tangential plug alert: My sideproject is a dithering-based image-to-pattern converter for plastic fuse beads (you know them, the ones you place on a platter and iron to fuse them together): https://www.beadifier.pro/

Nice. A conceptually simple program made into a nice app. Well, I assume it's a nice app ;-)

Does it make money? There a couple other simple apps I've considered writing to see if I can make a few side bucks.

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#39

Shameful tangential plug alert: My sideproject is a dithering-based image-to-pattern converter for plastic fuse beads (you know them, the ones you place on a platter and iron to fuse them together): https://www.beadifier.pro/

Nice. A conceptually simple program made into a nice app. Well, I assume it's a nice app ;-) Does it make money? There a couple other simple apps I've considered writing to see if I can make a few side bucks.

Yeah, it's a doing-one-thing-and-doing-it-well kind of mentality. It even makes (a little) money.

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#40
This article is missing a crucial pre-processing step to dithering algorithms: apply a Retinex-like filter to enhance the local contrast before doing the dithering. This gives a dramatic improvement of the final result. In fact, by exploring the scale parameter of the pre-processing step, you find a continuous family of binarisations that interpolates between global tresholding and local dithering.
Post reply on HN