This is a header-only, multi-threaded implementation of the RANSAC algorithm, used widely in computer vision.
Unlike 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.
To demonstrate how to use the library a line fitting example is included. To build this example do the following:
$ pwd
<SOME_DIR>/GRANSAC
$ 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.
GRANSAC is released under an MIT License.
Srinath Sridhar (srinaths@umich.edu) Max Planck Institute for Informatics