All Projects → MarcSpicker → LindeBuzoGrayStippling

MarcSpicker / LindeBuzoGrayStippling

Licence: LGPL-3.0 license
An interactive demo application for the algorithm proposed in our SIGGRAPH Asia 2017 technical paper.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to LindeBuzoGrayStippling

dingo
A python library for metabolic networks sampling and analysis
Stars: ✭ 29 (-72.9%)
Mutual labels:  sampling
sample
Performs memory-efficient reservoir sampling on very large input files delimited by newlines
Stars: ✭ 61 (-42.99%)
Mutual labels:  sampling
odoviz
3D Odometry Visualization and Processing Tool
Stars: ✭ 24 (-77.57%)
Mutual labels:  sampling
Orbit
C/C++ Performance Profiler
Stars: ✭ 2,291 (+2041.12%)
Mutual labels:  sampling
ChessPositionRanking
Software suite for ranking chess positions and accurately estimating the number of legal chess positions
Stars: ✭ 78 (-27.1%)
Mutual labels:  sampling
fbsample
R Package for Quota Sampling on Facebook
Stars: ✭ 30 (-71.96%)
Mutual labels:  sampling
lo2s
Linux OTF2 Sampling - A Lightweight Node-Level Performance Monitoring Tool
Stars: ✭ 24 (-77.57%)
Mutual labels:  sampling
pewmethods
Pew Research Center Methods team R package of miscellaneous functions
Stars: ✭ 121 (+13.08%)
Mutual labels:  sampling
samplics
Select, weight and analyze complex sample data
Stars: ✭ 24 (-77.57%)
Mutual labels:  sampling
variorum
Tool for hardware-level feature control
Stars: ✭ 21 (-80.37%)
Mutual labels:  sampling
ibs
Inverse binomial sampling for efficient log-likelihood estimation of simulator models
Stars: ✭ 22 (-79.44%)
Mutual labels:  sampling
bioinf-commons
Bioinformatics library in Kotlin
Stars: ✭ 21 (-80.37%)
Mutual labels:  sampling
Fraud-Detection-in-Online-Transactions
Detecting Frauds in Online Transactions using Anamoly Detection Techniques Such as Over Sampling and Under-Sampling as the ratio of Frauds is less than 0.00005 thus, simply applying Classification Algorithm may result in Overfitting
Stars: ✭ 41 (-61.68%)
Mutual labels:  sampling
sandy
Sampling nuclear data and uncertainty
Stars: ✭ 30 (-71.96%)
Mutual labels:  sampling
prospectr
R package: Misc. Functions for Processing and Sample Selection of Spectroscopic Data
Stars: ✭ 26 (-75.7%)
Mutual labels:  sampling
pg sampletolog
Postgres extension to sample statements or transactions to logs
Stars: ✭ 17 (-84.11%)
Mutual labels:  sampling
poisson-disk-sampling
Poisson disk sampling in arbitrary dimensions
Stars: ✭ 147 (+37.38%)
Mutual labels:  sampling

Weighted Linde-Buzo-Gray Stippling

An interactive demo application for the algorithm proposed in our SIGGRAPH Asia 2017 technical paper. Our project website (paper, video, examples) can be found here. I want to thank Jochen Görtler for his help with this implementation.

Example animation of our algorithm.

Results

Stippled George Clooney. Stippled Leonardo DiCaprio. Stippled Brad Pitt.

Disclaimer

This is a reimplemented demo with focus on interactivity, and not the code that was used to generate the images and timings in the paper.

Abstract

We propose an adaptive version of Lloyd's optimization method that distributes points based on Voronoi diagrams. Our inspiration is the Linde-Buzo-Gray-Algorithm in vector quantization, which dynamically splits Voronoi cells until a desired number of representative vectors is reached. We reformulate this algorithm by splitting and merging Voronoi cells based on their size, greyscale level, or variance of an underlying input image. The proposed method automatically adapts to various constraints and, in contrast to previous work, requires no good initial point distribution or prior knowledge about the final number of points. Compared to weighted Voronoi stippling the convergence rate is much higher and the spectral and spatial properties are superior. Further, because points are created based on local operations, coherent stipple animations can be produced. Our method is also able to produce good quality point sets in other fields, such as remeshing of geometry, based on local geometric features such as curvature.

Citation

@article{Deussen:2017:WLS:3130800.3130819,
  author = {Deussen, Oliver and Spicker, Marc and Zheng, Qian},
  title = {Weighted Linde-Buzo-Gray Stippling},
  journal = {ACM Trans. Graph.},
  issue_date = {November 2017},
  volume = {36},
  number = {6},
  month = nov,
  year = {2017},
  issn = {0730-0301},
  pages = {233:1--233:12},
  articleno = {233},
  numpages = {12},
  url = {http://doi.acm.org/10.1145/3130800.3130819},
  doi = {10.1145/3130800.3130819},
  acmid = {3130819},
  publisher = {ACM},
  address = {New York, NY, USA},
  keywords = {linde-buzo-gray-algorithm, lloyd optimization, remeshing, sampling, stippling, voronoi diagram},
}

Dependencies

The following libraries are required:

  • Qt5Core
  • Qt5Widgets
  • Qt5Svg
  • Qt5PrintSupport

Building

mkdir build
cd build
cmake ..
make
./LBGStippling
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].