/pyRANSAC-3D

A python tool for fitting primitives 3D shapes in point clouds using RANSAC algorithm

Primary LanguagePythonApache License 2.0Apache-2.0



PyPI Latest Release License

What is pyRANSAC-3D?

pyRANSAC-3D is an open source implementation of Random sample consensus (RANSAC) method. It fits primitive shapes such as planes, cuboids and cylinder in a point cloud to many aplications: 3D slam, 3D reconstruction, object tracking and many others.


Features:

Installation

Requirements: Numpy

Install with Pypi:

pip3 install pyransac3d

Take a look:

Example 1 - Planar RANSAC

import pyransac3d as pyrsc

points = load_points(.) # Load your point cloud as a numpy array (N, 3)

plane1 = pyrsc.Plane()
best_eq, best_inliers = plane1.fit(points, 0.01)

Results in the plane equation Ax+By+Cz+D: [1, 0.5, 2, 0]

Example 2 - Spherical RANSAC

Loading a noisy sphere's point cloud with r = 5 centered in 0 we can use the following code:

import pyransac3d as pyrsc

points = load_points(.) # Load your point cloud as a numpy array (N, 3)

sph = pyrsc.Sphere()
center, radius, inliers = sph.fit(points, thresh=0.4)

Results:

center: [0.010462385575072288, -0.2855090643954039, 0.02867848979091283]
radius: 5.085218633039647

3D Sphere

Documentation & other links

License

Apache 2.0

Contributing is awesome!

See CONTRIBUTING

Contact

Developed with ❤️ by the internet

Mainteiner: Leonardo Mariga

Did you like it? Remember to click on 🌟 button.