stipple placement using distance in a weighted graph david mould university of saskatchewan

26
Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Upload: sabrina-page

Post on 14-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Stipple Placement using Distance in a Weighted Graph

David Mould

University of Saskatchewan

Page 2: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Stippling

• Sole primitive is a dot of ink

[Wall Street Journal]

Page 3: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Automatic Stippling

• essentially halftoning: effort to match image intensity

• Weighted Voronoi diagrams often employed (introduced by Secord)

[Secord 2002]

Page 4: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Importance of Edges

[child's drawing]

[Façade]

Page 5: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Areas and Lines

• Area-based methods inherently underemphasize linear features (edges)

• Paths travel across linear features, and the point of crossing can be detected

• Idea: multisource distance calculation (breadth-first search in graph) to find feature points

Page 6: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Graph Traversal

Starting point

Structure (union of allvisited nodes)

Frontier (all unvisited sites adjacent to at least one visited site)

Page 7: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Graph Traversal

4-connected isocontours path cost isocontours

"edge" – high cost feature

Page 8: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Progressive Stippling Method

Page 9: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Algorithm Overview

• Construct graph

• Traverse graph– start at arbitrary point, distance zero– expand cheapest node– if cheapest node exceeds threshold:

• place stipple on frontier• set cost of stipple location to zero

– terminate when no nodes remain

Page 10: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Graph Construction

• Regular 4-connected lattice: one node per image pixel

• Weighted edges: a*I + b*G

Page 11: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Distance in Graph

• Distance between two nodes is cost of shortest path

• Cost of a path is the sum of all edge costs• Dijkstra's algorithm: finds costs from single

source to all other nodes– source: added to frontier with cost 0– "expansion step": convert cheapest frontier

node to known node, add neighbours to frontier

Page 12: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Stipple Placement

• Expansion step: choose cheapest node from frontier, update neighbour costs

• If expanded node cost exceeds threshold, trigger a stipple placement operation– choose stipple location (highest gradient

location, in our implementation)– set cost to zero– add to frontier

Page 13: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Progressive Stipple Placement

Page 14: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Result

Page 15: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Result

Page 16: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Blue Noise Distribution• Blue noise: enforces

minimum distance between any two samples

• Progressive algorithm: path cost between sites is at least the threshold (may be more)– at time of placing stipple, cost

to frontier exceeds threshold– stipples never placed behind

frontier

Page 17: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

"handmade" distribution

Voronoi Progressive

Page 18: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Edge Emphasis

Page 19: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

progressiveSecord -- halftoning

Page 20: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Progressive

Secord – weight is half intensity, half gradient

Page 21: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Summary of Stippling Results

• High-quality stipple placement

• feature emphasis

• "handmade" stipple distribution

• "progressive" non-iterative algorithm

• have not investigated stipple size changes

Page 22: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan
Page 23: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Irregular Mosaics

• Regions naturally defined by distance+sites

• Regions irregular in shape, but tile boundaries conform to image edges

• Akin to historical "chip" and "pebble" mosaics

Page 24: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan

Mosaic Results

Page 25: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan
Page 26: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan