gurpreetshanky / GRANSAC

Multi-threaded generic RANSAC implemetation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GRANSAC: Multi-threaded generic RANSAC implemetation

This is a header-only, multi-threaded implementation of the RANSAC algorithm, used widely in computer vision.

Unlikely most other implementations, this is a generic implementation which can be adopted for any problem. The user has to implement a class that inherits the AbstractModel class. Using RANSAC afterwards should just work.


This library uses C++11 features, so a suitable compiler is required (GCC 4.7+, Visual Studio 2013+). Additionally, OpenMP is needed for multi-threading.

Optionally, to build the line fiting example, OpenCV and CMake are required.


Just include the header GRANSAC.hpp in your application. The AbstractModel class needs to be inherited to implement a suitable model for your application.

Example: Line Fitting

To demonstrate how to use the library a line fitting example is included. To build this example do the following:

$ pwd
$ mkdir build && cd build
$ cmake ../examples/
$ make
$ ./LineFittingSample 1000 500

Running LineFittingSample should display a window with random 2D points around the diagonal. Green points show inliers.

RANSAC line fitting example


GRANSAC is released under an MIT License.


Srinath Sridhar ( Max Planck Institute for Informatics


Multi-threaded generic RANSAC implemetation

License:MIT License


Language:C++ 100.0%