Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

for-geeks/python-pcl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

1,001 Commits

Repository files navigation

Python PCL Introduction For Geeks

This is a small python binding to the pointcloud <http://pointclouds.org/>_ library. Currently, the following parts of the API are wrapped (all methods operate on PointXYZ) point types

  • I/O and integration; saving and loading PCD files
  • segmentation
  • SAC
  • smoothing
  • filtering
  • registration (ICP, GICP, ICP_NL)

The code tries to follow the Point Cloud API, and also provides helper function for interacting with NumPy. For example (from tests/test.py)

 import pcl
 import numpy as np
 p = pcl.PointCloud(np.array([[1, 2, 3], [3, 4, 5]], dtype=np.float32))
 seg = p.make_segmenter()
 seg.set_model_type(pcl.SACMODEL_PLANE)
 seg.set_method_type(pcl.SAC_RANSAC)
 indices, model = seg.segment()

or, for smoothing

 import pcl
 p = pcl.load("C/table_scene_lms400.pcd")
 fil = p.make_statistical_outlier_filter()
 fil.set_mean_k (50)
 fil.set_std_dev_mul_thresh (1.0)
 fil.filter().to_file("inliers.pcd")

Point clouds can be viewed as NumPy arrays, so modifying them is possible using all the familiar NumPy functionality:

 import numpy as np
 import pcl
 p = pcl.PointCloud(10) # "empty" point cloud
 a = np.asarray(p) # NumPy view on the cloud
 a[:] = 0 # fill with zeros
 print(p[3]) # prints (0.0, 0.0, 0.0)
 a[:, 0] = 1 # set x coordinates to 1
 print(p[3]) # prints (1.0, 0.0, 0.0)

More samples can be found in the examples directory <https://github.com/strawlab/python-pcl/tree/master/examples>, and in the unit tests <https://github.com/strawlab/python-pcl/blob/master/tests/test.py>.

This work was supported by Strawlab <http://strawlab.org/>_.

Quick start

  1. Pull and build docker container on your local computer.
cd docker
bash start_geek.sh
  1. Into docker container and run an example :
cd docker
bash into_geek.sh
# run example by keypoint
python3 examples/3dharris.py

image alt text

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 25

AltStyle によって変換されたページ (->オリジナル) /