Diffusion Curves Dr Scott Schaefer 1 Diffusion Curves

  • Slides: 49
Download presentation
Diffusion Curves Dr. Scott Schaefer 1

Diffusion Curves Dr. Scott Schaefer 1

Diffusion Curves Vector graphics-based representation for 2 D images n Images are piecewise smooth

Diffusion Curves Vector graphics-based representation for 2 D images n Images are piecewise smooth with discontinuities represented as curves n Image taken from “Diffusion Curves: A Vector Representation for Smooth-Shaded Images” 2/38

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

Representation Bezier curves represent discontinuities n Give each curve a color function on left/right side of curve u Original paper uses linear color change u Modification: Control points can have any color n Image taken from “Diffusion Curves: A Vector Representation for Smooth-Shaded Images” 3/49

Image Construction Use curves as boundary constraints n Find a harmonic function that interpolates

Image Construction Use curves as boundary constraints n Find a harmonic function that interpolates those boundary constraints n Image taken from “Diffusion Curves: A Vector Representation for Smooth-Shaded Images” 4/49

Implementation (Simplified) Define a left/right color for points n Use a background color to

Implementation (Simplified) Define a left/right color for points n Use a background color to represent no data (black) n Draw curve as a polygon made of quads (thick) with smooth shading n 5/49

Implementation (Simplified) Colored pixels are constraints n Find a harmonic function satisfying constraints u

Implementation (Simplified) Colored pixels are constraints n Find a harmonic function satisfying constraints u Harmonic function has Laplacian zero everywhere n 6/49

Implementation (Simplified) Colored pixels are constraints n Find a harmonic function satisfying constraints u

Implementation (Simplified) Colored pixels are constraints n Find a harmonic function satisfying constraints u Harmonic function has Laplacian zero 1 everywhere 0 n 1 0 -4 1 0 7/49

Implementation (Simplified) Colored pixels are constraints n Find a harmonic function satisfying constraints u

Implementation (Simplified) Colored pixels are constraints n Find a harmonic function satisfying constraints u Harmonic function has Laplacian zero 1 everywhere 0 u Each value is average of its neighbors -4 1 n 0 1 0 8/49

Implementation (Simplified) Draw curves as quads n Read pixel buffer back from Open. GL

Implementation (Simplified) Draw curves as quads n Read pixel buffer back from Open. GL n Repeat a lot u For all pixels whose initial value was black, replace with average color of its neighbors from previous iteration n 9/49

Problem 10/49

Problem 10/49

Problem Final Result 11/49

Problem Final Result 11/49

Problem 100 Iterations 12/49

Problem 100 Iterations 12/49

Problem 200 Iterations 13/49

Problem 200 Iterations 13/49

Problem 400 Iterations 14/49

Problem 400 Iterations 14/49

Problem 800 Iterations 15/49

Problem 800 Iterations 15/49

Problem 1600 Iterations 16/49

Problem 1600 Iterations 16/49

Problem 6400 Iterations 17/49

Problem 6400 Iterations 17/49

Problem Infinity Iterations 18/49

Problem Infinity Iterations 18/49

Problem 256 19/49

Problem 256 19/49

Simple Multi-Grid Create power of 2 down-sampled images u Average value of all non-black

Simple Multi-Grid Create power of 2 down-sampled images u Average value of all non-black pixels n For each level, starting at second to last u Up-sample previous level t Copy pixel value to black high-res pixels (non-black pixels are constraints) u For some number of iterations t For each non-constrained pixel, replace with average of its neighbors from last iteration n 20/49

Example Original 512 x 512 21/49

Example Original 512 x 512 21/49

Example Down-sampled 256 x 256 22/49

Example Down-sampled 256 x 256 22/49

Example Down-sampled 128 x 128 23/49

Example Down-sampled 128 x 128 23/49

Example Down-sampled 64 x 64 24/49

Example Down-sampled 64 x 64 24/49

Example Down-sampled 32 x 32 25/49

Example Down-sampled 32 x 32 25/49

Example Down-sampled 16 x 16 26/49

Example Down-sampled 16 x 16 26/49

Example Down-sampled 8 x 8 27/49

Example Down-sampled 8 x 8 27/49

Example Down-sampled 4 x 4 28/49

Example Down-sampled 4 x 4 28/49

Example Down-sampled 2 x 2 29/49

Example Down-sampled 2 x 2 29/49

Example Down-sampled 1 x 1 30/49

Example Down-sampled 1 x 1 30/49

Example Up-sampled 31/49

Example Up-sampled 31/49

Example Smoothed 32/49

Example Smoothed 32/49

Example Up-sampled 33/49

Example Up-sampled 33/49

Example Smoothed 34/49

Example Smoothed 34/49

Example Up-sampled 35/49

Example Up-sampled 35/49

Example Smoothed 36/49

Example Smoothed 36/49

Example Up-sampled 37/49

Example Up-sampled 37/49

Example Smoothed 38/49

Example Smoothed 38/49

Example Up-sampled 39/49

Example Up-sampled 39/49

Example Smoothed 40/49

Example Smoothed 40/49

Example Up-sampled 41/49

Example Up-sampled 41/49

Example Smoothed 42/49

Example Smoothed 42/49

Example Up-sampled 43/49

Example Up-sampled 43/49

Example Smoothed 44/49

Example Smoothed 44/49

Example Up-sampled 45/49

Example Up-sampled 45/49

Example Smoothed 46/49

Example Smoothed 46/49

Example Up-sampled 47/49

Example Up-sampled 47/49

Example Smoothed 48/49

Example Smoothed 48/49

Example 49/49

Example 49/49