To be honest, we’ve heard of dithering but that’s the extent of our knowledge on the topic. After looking through [Windell’s] post about using Dithering in Processing we can now say we’ve got a base of knowledge on the topic.
Dithering is used to produce an image out of two colors that our eyes can put together into something meaningful. The history of the algorithms goes back to monochrome displays. But now the hobby electronics we work with for fun have comparable computing power and perhaps it’s time to rediscover these techniques. [Windell’s] project implements the Atkinson dithering algorithm in real-time on your webcam. He’s doing this in Processing, which should make it pretty easy to port for your own purposes.
So why might you want to use dithering in your own projects? Because if it can be used to make very cool milled artwork there must be other undiscovered uses lurking around your workshop.
I’ed like to make a dithered display using red and green instead of black and white just to piss off the colourblind.
Dithering is being used by almost everyone, every day. In printers..
Your normal laser printer would use Patterning though. But thermal printers use dithering. But also laser engraving among other things.
For pythoners out there:
http://mike.teczno.com/notes/atkinson.html
I did similar: http://hackniac.com/pages/show_project.php?title=ditherer
I love how things that used to be a necessity due to poor technology are fast becoming a desirable aesthetic.
Call it nostalgia.
It’s not just a nostalgic aesthetic…it’s a necessity for representing shading on a monochrome display, such as OLED, LCD, or LED matrix.
You can do this with Photoshop but why would you? I don’t know whats worse, seemingly smart people bringing back dithering or the NFL ditching the kickoff. Somebody save us!!!
Plasma TVs use dithering.
Floyd–Steinberg or bust!
Dithering is not just for 2 colors, and it is not just for images.
Used in audio all the time, and could be used for any other kind of sampled data.
I put a dithered image at the back of a pcb and it turned out rather good.
http://dangerousprototypes.com/forum/download/file.php?id=8458&mode=view
Looks very nice :0)
Here’s a version that’s quite a bit faster, accessing pixels using the point() command is pretty slow versus accessing the pixel array directly: http://pastebin.com/A33DsRMt
Oh how I thought this was the dithering that I use most days:
http://en.wikipedia.org/wiki/Analog-to-digital_converter#Dither
the post’s picture uses a pretty bad algorithm which produces diagonal stripes, there are better ways to dither an image.
That is actually a problem compared to most examples of Atkinson dithering I’ve seen. I haven’t been able to track it down, might be the way Java handles integers or something…Atkinson usually makes little round squiggles and zigzags.
Revisiting techniques from the old days is becoming a theme, I was messing with the idea of using 16-bit High Colour on my Christmas lights (RGB LED string and MSP430 Launchpad) to save memory, it was a lot of fun. I found that 16-bit (5 red, 6 green and 5 blue) works much better then 15-bit for making colors, but fading it without using float is hard as!!
Could you just used fixed-point with higher than 5/6 bit precision?