humanpose1 / python_shot

binding of pcl for python shot descriptor
MIT License
5 stars 0 forks source link
cloud descriptors pcl point python shot

SHOT descriptor for 3D Point Cloud in python

This repo is a binding in python of the SHOT descriptor written in C++ with PCL. It uses the library pybind11 for the binding.

Installation

First you need to install PCL. You can use the script (thanks 3DSmoothnet for the script)

sh install_pcl.sh

then create a conda environnement

conda create -n "python_shot"

and install numpy and pytest

conda install numpy, pytest

Then you can install our library to compute shot

python setup.py install

How to use SHOT descriptor

The SHOT function takes numpy array as argument.

import handcrafted_descriptor as hd
descr = hd.compute_shot(point_cloud, normals, keypoints, keypoints_normal)

point_cloud is a numpy array of size N x 3 normals is a numpy array of size N x 3. It is the normals of the point cloud, you need to estimate it beforehand if you do not have access to normals.

keypoints is a numpy array of size M x 3. It is selected keypoints where you want to compute the descriptors. keypoints_normals is a numpy array of size M x 3. the normals of the keypoints.

descr is a numpy array of size M x 352