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.
Requirements: Numpy
Install with Pypi:
pip3 install pyransac3d
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:
[0.720, -0.253, 0.646, 1.100]
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
Did this repository was useful for your work? =)
@software{Mariga_pyRANSAC-3D_2022,
author = {Mariga, Leonardo},
doi = {10.5281/zenodo.7212567},
month = {10},
title = {{pyRANSAC-3D}},
url = {https://github.com/leomariga/pyRANSAC-3D},
version = {v0.6.0},
year = {2022}
}
See CONTRIBUTING
Developed with :heart: by the internet
Mainteiner: Leonardo Mariga
Did you like it? Remember to click on :star2: button.