diffusion curves

49
1 Dr. Scott Schaefer Diffusion Curves

Upload: hao

Post on 06-Feb-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Diffusion Curves. Dr. Scott Schaefer. Diffusion Curves. Vector graphics-based representation for 2D images Images are piecewise smooth with discontinuities represented as curves. Image taken from “Diffusion Curves: A Vector Representation for Smooth-Shaded Images”. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Diffusion Curves

1

Dr. Scott Schaefer

Diffusion Curves

Page 2: Diffusion Curves

2/38

Diffusion Curves

Vector graphics-based representation for 2D images

Images are piecewise smooth with discontinuities represented as curves

Image taken from “Diffusion Curves: A Vector Representation for Smooth-Shaded Images”

Page 3: Diffusion Curves

Representation

Bezier curves represent discontinuities Give each curve a color function on left/right

side of curveOriginal paper uses linear

color changeModification: Control

points can have any color

3/49Image taken from “Diffusion Curves: A Vector Representation for Smooth-Shaded Images”

Page 4: Diffusion Curves

Image Construction

Use curves as boundary constraints Find a harmonic function that interpolates

those boundary constraints

4/49Image taken from “Diffusion Curves: A Vector Representation for Smooth-Shaded Images”

Page 5: Diffusion Curves

Implementation (Simplified)

Define a left/right color for points

Use a background color to represent no data (black)

Draw curve as a polygon made of quads (thick) with smooth shading

5/49

Page 6: Diffusion Curves

Implementation (Simplified)

Colored pixels are constraints Find a harmonic function satisfying

constraintsHarmonic function has Laplacian zero

everywhere

6/49

Page 7: Diffusion Curves

Implementation (Simplified)

Colored pixels are constraints Find a harmonic function satisfying

constraintsHarmonic function has Laplacian zero

everywhere

7/49

-4

1

1

1

1

0 0

0 0

Page 8: Diffusion Curves

Implementation (Simplified)

Colored pixels are constraints Find a harmonic function satisfying

constraintsHarmonic function has Laplacian zero

everywhereEach value is average of

its neighbors

8/49

-4

1

1

1

1

0 0

0 0

Page 9: Diffusion Curves

Implementation (Simplified)

Draw curves as quads Read pixel buffer back from OpenGL Repeat a lot

For all pixels whose initial value was black, replace with average color of its neighbors from previous iteration

9/49

Page 10: Diffusion Curves

Problem

10/49

Page 11: Diffusion Curves

Problem

11/49Final Result

Page 12: Diffusion Curves

Problem

12/49100 Iterations

Page 13: Diffusion Curves

Problem

13/49200 Iterations

Page 14: Diffusion Curves

Problem

14/49400 Iterations

Page 15: Diffusion Curves

Problem

15/49800 Iterations

Page 16: Diffusion Curves

Problem

16/491600 Iterations

Page 17: Diffusion Curves

Problem

17/496400 Iterations

Page 18: Diffusion Curves

Problem

18/49Infinity Iterations

Page 19: Diffusion Curves

Problem

19/49

256

Page 20: Diffusion Curves

Simple Multi-Grid

Create power of 2 down-sampled imagesAverage value of all non-black pixels

For each level, starting at second to lastUp-sample previous level

Copy pixel value to black high-res pixels (non-black pixels are constraints)

For some number of iterationsFor each non-constrained pixel, replace with color

of its neighbors from previous iteration

20/49

Page 21: Diffusion Curves

Example

21/49Original 512x512

Page 22: Diffusion Curves

Example

22/49Down-sampled 256x256

Page 23: Diffusion Curves

Example

23/49Down-sampled 128x128

Page 24: Diffusion Curves

Example

24/49Down-sampled 64x64

Page 25: Diffusion Curves

Example

25/49Down-sampled 32x32

Page 26: Diffusion Curves

Example

26/49Down-sampled 16x16

Page 27: Diffusion Curves

Example

27/49Down-sampled 8x8

Page 28: Diffusion Curves

Example

28/49Down-sampled 4x4

Page 29: Diffusion Curves

Example

29/49Down-sampled 2x2

Page 30: Diffusion Curves

Example

30/49Down-sampled 1x1

Page 31: Diffusion Curves

Example

31/49Up-sampled

Page 32: Diffusion Curves

Example

32/49Smoothed

Page 33: Diffusion Curves

Example

33/49Up-sampled

Page 34: Diffusion Curves

Example

34/49Smoothed

Page 35: Diffusion Curves

Example

35/49Up-sampled

Page 36: Diffusion Curves

Example

36/49Smoothed

Page 37: Diffusion Curves

Example

37/49Up-sampled

Page 38: Diffusion Curves

Example

38/49Smoothed

Page 39: Diffusion Curves

Example

39/49Up-sampled

Page 40: Diffusion Curves

Example

40/49Smoothed

Page 41: Diffusion Curves

Example

41/49Up-sampled

Page 42: Diffusion Curves

Example

42/49Smoothed

Page 43: Diffusion Curves

Example

43/49Up-sampled

Page 44: Diffusion Curves

Example

44/49Smoothed

Page 45: Diffusion Curves

Example

45/49Up-sampled

Page 46: Diffusion Curves

Example

46/49Smoothed

Page 47: Diffusion Curves

Example

47/49Up-sampled

Page 48: Diffusion Curves

Example

48/49Smoothed

Page 49: Diffusion Curves

Example

49/49