Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Besides Floyd–Steinberg dithering, any other ways to dither the images?

I am wondering besides Floyd–Steinberg dithering, any famous dithering algorithm exists?

like image 724
user496949 Avatar asked Feb 05 '12 15:02

user496949


2 Answers

There are some other error diffusion algorithms, the Wikipedia page on dithering gives a good list and images to compare the algorithms:

  • Floyd–Steinberg dithering only diffuses the error to neighbouring pixels. This results in very fine-grained dithering.
  • Jarvis, Judice, and Ninke dithering diffuses the error also to pixels one step further away. The dithering is coarser, but has fewer visual artifacts. It is slower than Floyd–Steinberg dithering because it distributes errors among 12 nearby pixels instead of 4 nearby pixels for Floyd–Steinberg.
  • Stucki dithering is based on the above, but is slightly faster. Its output tends to be clean and sharp.
  • Burkes dithering is a simplified form of Stucki dithering that is faster, but less clean than Stucki dithering.
  • Sierra dithering is based on Jarvis dithering, but it's faster while giving similar results.
  • Two-row Sierra is the above method modified by Sierra to improve its speed. Filter Lite is an algorithm by Sierra that is much simpler and faster than Floyd–Steinberg, while still yielding similar (according to Sierra, better) results.
  • Atkinson dithering resembles Jarvis dithering and Sierra dithering, but it's faster. Another difference is that it doesn't diffuse the entire quantization error, but only three quarters. It tends to preserve detail well, but very light and dark areas may appear blown out.
  • Even toned screening is a patented modification of Floyd–Steinberg dithering intended to reduce visual artifacts, in particular to produce more even dot patterns in highlights and shadows.

Unfortunately, there are no details there, you'll have to google for the algorithms to get further information about the diffusion tables etc. I'll try to edit and update the list and offer some links.

EDIT: This text file seems to have good explanations and diffusion tables for most of the listed algorithms.

like image 190
schnaader Avatar answered Sep 28 '22 18:09

schnaader


This is answered already, but I stumbled over a very good explanation and I'd like it to get some visibility (it's linked from the Wikipedia page): http://www.tannerhelland.com/4660/dithering-eleven-algorithms-source-code/

like image 29
Arne Avatar answered Sep 28 '22 18:09

Arne