https://github.com/alvinwan/pcmatch
Iterative closest point (ICP) to match point clouds to templates
https://github.com/alvinwan/pcmatch
iterative-closest-point point-cloud point-cloud-visualizer point-registration
Last synced: over 1 year ago
JSON representation
Iterative closest point (ICP) to match point clouds to templates
- Host: GitHub
- URL: https://github.com/alvinwan/pcmatch
- Owner: alvinwan
- License: apache-2.0
- Created: 2017-05-27T07:10:03.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-06-23T09:06:33.000Z (about 9 years ago)
- Last Synced: 2025-03-18T20:40:37.091Z (over 1 year ago)
- Topics: iterative-closest-point, point-cloud, point-cloud-visualizer, point-registration
- Language: JavaScript
- Homepage: http://alvinwan.com/pcmatch/
- Size: 2.82 MB
- Stars: 30
- Watchers: 2
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Point Cloud Matching
Uses iterative closest point (ICP) to match sample point clouds to templates. Includes utilities to convert existing .stl, .obj, .xaml, .pkl etc. objects into point cloud, numpy arrays. To visualize the results in an interactive viewer, see [`viewer/`](http://github.com/alvinwan/pcmatch/tree/master/viewer).

# Install
The project is written in Python 3 and is not guaranteed to successfully backport to Python 2.
(Optional) We recommend setting up a virtual environment.
```
virtualenv pcm --python=python3
source activate pcm/bin/activate
```
Say `$PCM_ROOT` is the root of your repository. Navigate to your root repository.
```
cd $PCM_ROOT
```
We need to setup our Python dependencies.
```
pip install -r requirements.txt
```
# Run
By default, the script looks for sample point clouds in `./data/raw` and
template point clouds in `./data/templates`. All point cloud files are `.npy`
files containing `nx3` matrices of `x,y,z` respectively.
```
python label.py
```
Here are full usage instructions:
```
Usage:
label.py [options]
Options:
--template= Path to templates [default: ./data/templates/*.npy]
--raw= Path to unclassified data [default: ./data/raw/*.npy]
--out= Path for final results [default: ./out/labels.npy]
```
