The Mathematica Journal
Volume 10, Issue 2

Search

In This Issue
Articles
In and Out
Trott's Corner
Beyond Sudoku
New Products
New Publications
Calendar
News Bulletins
New Resources
Classifieds

Download This Issue 

About the Journal
Editorial Policy
Staff and Contributors
Submissions
Subscriptions
Advertising
Back Issues
Contact Information

Dither Removal
Bart M. ter Haar Romeny

Image Dithering

Image dithering is often used for commercial print products like newspapers and magazines. Many printers (e.g., laser and inkjet printers) can only put a series of single black dots on paper. Intensity is then regulated by the local density of the dots. This process is called dithering. However, when a dithered image is scanned, the interaction between the discrete scanning process and dithering may seriously degrade the image. Dithering and scanning are often both periodic, leading to periodic interference artifacts. These can be removed by proper filtering in the spatial 2D Fourier domain.

We first give an example of how dithering can be applied to an image. It is simplest to replace each pixel with a small array of random black dots, with the number of dots proportional to the intensity.

Some general settings:

The dithering function creates a small array, which enables us to make 256 different intensities.

We map this onto every pixel and get an image that is 16 times larger with dithered points. The function BlockMatrix (available in LinearAlgebra`MatrixManipulation`) combines the different submatrices.

There are many sophisticated ways to dither an image. For a good overview see [1]. One of the best methods is the Floyd-Steinberg dithering method, based on error-diffusion [2]. The following graphic is an example.



     
About Mathematica | Download Mathematica Player 
© Wolfram Media, Inc. All rights reserved.