half toning. continuous half toning color half toning

74
Half Toning

Post on 24-Jan-2016

248 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Half Toning. Continuous Half Toning Color Half Toning

Half Toning

Page 2: Half Toning. Continuous Half Toning Color Half Toning

Continuous Half Toning

Page 3: Half Toning. Continuous Half Toning Color Half Toning

Color Half Toning

Page 4: Half Toning. Continuous Half Toning Color Half Toning

Half toning and Colors

Page 5: Half Toning. Continuous Half Toning Color Half Toning

Digital Half Toning

Page 6: Half Toning. Continuous Half Toning Color Half Toning

(0) (1) (2) (3) (4)

(0) (1) (2) (3)

(0) (1) (2) (3) (4)

Emulating 5 different levels

Half Toning

Page 7: Half Toning. Continuous Half Toning Color Half Toning

(0) (1) (2) (3) (4)

(5) (6) (7) (8) (9)

Half Toning

10 levels

Page 8: Half Toning. Continuous Half Toning Color Half Toning

Original

Page 9: Half Toning. Continuous Half Toning Color Half Toning

Half Toning

Page 10: Half Toning. Continuous Half Toning Color Half Toning

Original

Page 11: Half Toning. Continuous Half Toning Color Half Toning

Dithering

Page 12: Half Toning. Continuous Half Toning Color Half Toning

Dithering and HalftoningTrade spatial for intensity resolution(works well for printing where dot printing is very

high)• Thresholding. • Random dither; Robert’s algorithm• Ordered dither• Error diffusionYour eye will average over an area

- Spatial Integration

Page 13: Half Toning. Continuous Half Toning Color Half Toning

Thresholding

Assume we want to quantize a gray-level image to a binary colormap.

Map the upper half of the gray-level scale to white, and the lower half to black – a simple threshold operation, preformed independently at each pixel.

Page 14: Half Toning. Continuous Half Toning Color Half Toning

ThresholdingOriginal image. Simple threshold. n = 0.5

)),((),( nyxvtruncyxv Errors are low spatial frequencies.

Page 15: Half Toning. Continuous Half Toning Color Half Toning

Robert’s Algorithm

• First add noise

• Then quantize

x

i

0

1

r

r + 1Quantized to 1

Quantized to 0

)),(),((),( yxnoiseyxvKtruncyxv

10 noise

Moves errors to higher spatial frequencies.-> eye averages over an area.

Page 16: Half Toning. Continuous Half Toning Color Half Toning

Threshold

Page 17: Half Toning. Continuous Half Toning Color Half Toning

Threshold + Noise

Page 18: Half Toning. Continuous Half Toning Color Half Toning

Robert’s Algorithm

Pink Blue

Page 19: Half Toning. Continuous Half Toning Color Half Toning

The trouble with noise

• Difficult to compute quickly.

• Not reproducible.

• Pre-compute pseudo-random function and store in table.

• Small tiled patterns sufficient

Page 20: Half Toning. Continuous Half Toning Color Half Toning

Dithering

• It is possible to improve the quality of a quantized image by distributing the quantized error.

• Let’s have a closer look.

Page 21: Half Toning. Continuous Half Toning Color Half Toning

Dithering

Thresholding Dithering

Page 22: Half Toning. Continuous Half Toning Color Half Toning

Each pixel produces a quatization error

The quality of the result may be improved by adjusting the threshold locally, so that adjacent pixels in small areas are quantized with different thresholds.

This reduces the average local quantization error. Matrices of these threshold are called dither matrices.

Dithering

Page 23: Half Toning. Continuous Half Toning Color Half Toning

Threshold + Noise

Page 24: Half Toning. Continuous Half Toning Color Half Toning

Dithering

Page 25: Half Toning. Continuous Half Toning Color Half Toning

Ordered Dithering

• Trade off spatial resolution for intensity resolution.

• Use dither patterns.

• Can be represented as a matrix.

Page 26: Half Toning. Continuous Half Toning Color Half Toning

Other possibilities

Page 27: Half Toning. Continuous Half Toning Color Half Toning

9 4 8

6 1 2

573

For all Xpixels For all Ypixels v = approximate(x,y) i = x mod 3 j = y mod 3 if v >= M[i,j] then Set_Pixel(x,y, BLACK) else Set_Pixel(x,y, WHITE)

The dithering matrix (3x3)

Page 28: Half Toning. Continuous Half Toning Color Half Toning

Dithering

9 4 8

6 1 2

573

9 4 8

6 1 2

573

9 4 8

6

1

2

5

73

9 4 8

6 1 2

573

9 4 8

6

157

3

2 5

54

4

4

2

2

2

2 2

3

3

3

3

6

8 444

4

2

28 3

8

8

9

9

9

8 8

7

7

7

7

6

4

2

4

4

2

2

12

2 2

3

3

8 44

9 4 8

6 1 2

573

0 1 0

0 1 1

000

Dithering mask

Image

Binary image

Page 29: Half Toning. Continuous Half Toning Color Half Toning

Original

Page 30: Half Toning. Continuous Half Toning Color Half Toning

Dithering

Page 31: Half Toning. Continuous Half Toning Color Half Toning

Dithering

Page 32: Half Toning. Continuous Half Toning Color Half Toning

Error Diffusion

Page 33: Half Toning. Continuous Half Toning Color Half Toning

Floyd-Steinberg Error Diffusion

With this method, the average quatization error is reduced by propagating the error from each pixel to some of its neighbors in the scan order.

Page 34: Half Toning. Continuous Half Toning Color Half Toning

1D Error Diffusion

0

1

1

Page 35: Half Toning. Continuous Half Toning Color Half Toning

1D Error Diffusion

0

1

Page 36: Half Toning. Continuous Half Toning Color Half Toning

1D Error Diffusion

0

1

Page 37: Half Toning. Continuous Half Toning Color Half Toning

1D Error Diffusion

0

1

Page 38: Half Toning. Continuous Half Toning Color Half Toning

1D Error Diffusion

0

1

01

Page 39: Half Toning. Continuous Half Toning Color Half Toning

1D Error Diffusion

0

1

01 1

Page 40: Half Toning. Continuous Half Toning Color Half Toning

1D Error Diffusion

0

1

Page 41: Half Toning. Continuous Half Toning Color Half Toning

1D Error Diffusion

0

1

Page 42: Half Toning. Continuous Half Toning Color Half Toning

1D Error Diffusion

0

1

Page 43: Half Toning. Continuous Half Toning Color Half Toning

Floyd-Steinberg Error DiffusionWith this method, the average quatization error is reduced by propagating the error from each pixel to some of its neighbors in the scan order.

Note that the error propagation weights must sum to one

e -3e/8

-3e/8 -e/4

e-3e/8

-3e/8-e/4

Page 44: Half Toning. Continuous Half Toning Color Half Toning

Dither vs. Floyd-Steinberg

Page 45: Half Toning. Continuous Half Toning Color Half Toning
Page 46: Half Toning. Continuous Half Toning Color Half Toning

Original Picture

Page 47: Half Toning. Continuous Half Toning Color Half Toning

Dithering resultError diffusion result

Page 48: Half Toning. Continuous Half Toning Color Half Toning

Examples – Continue

Page 49: Half Toning. Continuous Half Toning Color Half Toning

DitheringDithering:

Note that each square ring is of different brightness

Page 50: Half Toning. Continuous Half Toning Color Half Toning

Error Diffusion

Error Diffusion:

Note that the error is distributed across the layers

Page 51: Half Toning. Continuous Half Toning Color Half Toning

Examples – ContinueOriginal:

Page 52: Half Toning. Continuous Half Toning Color Half Toning

Dithering

Page 53: Half Toning. Continuous Half Toning Color Half Toning

Error Diffusion

Page 54: Half Toning. Continuous Half Toning Color Half Toning
Page 55: Half Toning. Continuous Half Toning Color Half Toning
Page 56: Half Toning. Continuous Half Toning Color Half Toning

Set AccErr[] to zero;For each pixel in the image scanning from left to right: value= Pixel_value(x,y) + AccErr[x,y]; if (value > WHITE/2) {

Set_pixel(x,y, WHITE);Error = value - WHITE;}

else { Set_pixel(x,y, BLACK); Error = value - BLACK; }

if scanning from left to right { AccErr[x+1, y] += 3/8 * Error;

AccErr[x, y+1] += 3/8 * Error;

AccErr[x+1,y+1] += 2/8 * Error; }

Error Diffusion

Page 57: Half Toning. Continuous Half Toning Color Half Toning

Space Filling Curves • order of scan

Page 58: Half Toning. Continuous Half Toning Color Half Toning

Space Filling Curves

Hilbert curve(1-4)

Page 59: Half Toning. Continuous Half Toning Color Half Toning

Space Filling Curves

Hilbert curve(1-4)

Page 60: Half Toning. Continuous Half Toning Color Half Toning

Space Filling Curves

Hilbert curve(1-4)

Page 61: Half Toning. Continuous Half Toning Color Half Toning

Space Filling Curves

Hilbert curve(1-4)

Page 62: Half Toning. Continuous Half Toning Color Half Toning

Space Filling Curves

Peano curve

Page 63: Half Toning. Continuous Half Toning Color Half Toning

Context Based SFC

Page 64: Half Toning. Continuous Half Toning Color Half Toning

Original Image

Page 65: Half Toning. Continuous Half Toning Color Half Toning

Threshholding

Page 66: Half Toning. Continuous Half Toning Color Half Toning

Bayer’s Ordered Dithering

Page 67: Half Toning. Continuous Half Toning Color Half Toning

Error Diffusion

Page 68: Half Toning. Continuous Half Toning Color Half Toning

Median Cut (4 levels)

Page 69: Half Toning. Continuous Half Toning Color Half Toning

Median Cut (8 levels)

Page 70: Half Toning. Continuous Half Toning Color Half Toning
Page 71: Half Toning. Continuous Half Toning Color Half Toning
Page 72: Half Toning. Continuous Half Toning Color Half Toning
Page 73: Half Toning. Continuous Half Toning Color Half Toning
Page 74: Half Toning. Continuous Half Toning Color Half Toning