Upload
sabrina-page
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
Stipple Placement using Distance in a Weighted Graph
David Mould
University of Saskatchewan
Stippling
• Sole primitive is a dot of ink
[Wall Street Journal]
Automatic Stippling
• essentially halftoning: effort to match image intensity
• Weighted Voronoi diagrams often employed (introduced by Secord)
[Secord 2002]
Importance of Edges
[child's drawing]
[Façade]
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
Graph Traversal
Starting point
Structure (union of allvisited nodes)
Frontier (all unvisited sites adjacent to at least one visited site)
Graph Traversal
4-connected isocontours path cost isocontours
"edge" – high cost feature
Progressive Stippling Method
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
Graph Construction
• Regular 4-connected lattice: one node per image pixel
• Weighted edges: a*I + b*G
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
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
Progressive Stipple Placement
Result
Result
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
"handmade" distribution
Voronoi Progressive
Edge Emphasis
progressiveSecord -- halftoning
Progressive
Secord – weight is half intensity, half gradient
Summary of Stippling Results
• High-quality stipple placement
• feature emphasis
• "handmade" stipple distribution
• "progressive" non-iterative algorithm
• have not investigated stipple size changes
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
Mosaic Results