Giter Site home page Giter Site logo

catmou / voronoi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from arnaud-ramey/voronoi

0.0 1.0 0.0 58 KB

VoronoiSkeleton is a C++ class made for the fast computing of Voronoi diagrams of monochrome images. It contains different implementations of thinning algorithms.

Home Page: https://sites.google.com/site/rameyarnaud/research/c/voronoi

License: GNU Lesser General Public License v3.0

CMake 0.59% C++ 99.41%

voronoi's Introduction

voronoi

Build Status

The morphological skeleton of an image is the set of its non-zero pixels which are equidistant to its boundaries. More info on Wikipedia.

Thinning an image consits in reducing its non-zero pixels to their morphological skeleton. More info on Wikipedia.

VoronoiSkeleton is a C++ class made for the fast computing of Voronoi diagrams of monochrome images. It contains different implementations of thinning algorithms:

  • Zhang - Suen explained in 'A fast parallel algorithm for thinning digital patterns' by T.Y. Zhang and C.Y. Suen and based on this implentation

  • Guo - Hall explained in 'Parallel thinning with two sub-iteration algorithms' by Zicheng Guo and Richard Hall and based on this implentation

  • a morphological one, based on the erode() and dilate() operators. Coming from previous work by Félix Abecassis.

A special care has been given to optimize the 2 first ones. Instead of re-examining the whole image at each iteration, only the pixels of the current contour are considered. This leads to a speedup by almost 100 times on experimental tests.

Licence

LGPL v3, check file LICENCE.

Dependencies

You need the following libraries before compiling :

  • cmake ( $ sudo apt-get install cmake ),
  • GTest ( $ sudo apt-get install gtest-dev ),
  • OpenCV ( $ sudo apt-get install libopencv-dev )

How to build the program

The project is based on a CMakeLists. It is easy to build the program on a Unix computer. Go in the source folder and type:

$ mkdir build
$ cd build
$ cmake ..
$ make

For Windows users, some instructions are available on OpenCV website: http://opencv.willowgarage.com/wiki/Getting_started .

How to use the program

To display the help, from the main folder, run the generated executable 'build/test_voronoi ' with no arguments. It will display the help of the program.

Related projects

mnist-digits-as-stroke-sequences Code project to transform the well known MNIST handwritten digit images to sequences of pen strokes, in order to obtain a data set for sequence learning.

Authors

Arnaud Ramey [email protected] -- Robotics Lab, University Carlos III of Madrid

voronoi's People

Contributors

arnaud-ramey avatar superpan2015 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.