Download - Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan
![Page 1: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/4.jpg)
Importance of Edges
[child's drawing]
[Façade]
![Page 5: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/8.jpg)
Progressive Stippling Method
![Page 9: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/13.jpg)
Progressive Stipple Placement
![Page 14: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/14.jpg)
Result
![Page 15: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/15.jpg)
Result
![Page 16: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/17.jpg)
"handmade" distribution
Voronoi Progressive
![Page 18: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/18.jpg)
Edge Emphasis
![Page 19: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/19.jpg)
progressiveSecord -- halftoning
![Page 20: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/20.jpg)
Progressive
Secord – weight is half intensity, half gradient
![Page 21: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/22.jpg)
![Page 23: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/24.jpg)
Mosaic Results
![Page 25: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/25.jpg)
![Page 26: Stipple Placement using Distance in a Weighted Graph David Mould University of Saskatchewan](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f3c5503460f94c5b2ed/html5/thumbnails/26.jpg)