Skip to content

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

License

Notifications You must be signed in to change notification settings

JedYoda/pyRANSAC-3D

 
 

Repository files navigation



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: [0.720, -0.253, 0.646, 1.100]

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%