PointCloudSegmentation-V2
Modification: (1) use nanoflann.cpp to replace the ann library; (2) remove some cpps
Three algorithms on point cloud segmentation used in the following paper:
Pairwise Linkage for Point Cloud Segmentation, Xiaohu Lu, etc. ISPRS2016. https://github.com/xiaohulugo/xiaohulugo.github.com/blob/master/papers/PLinkage_Point_Segmentation_ISPRS2016.pdf
*The algorithm used in the ISPRS2016 paper is ClusterGrowPLinkage.cpp
Prerequisites:
- OpenCV > 2.4.x
- OpenMP
Usage:
- build the project with Cmake
- run the code
- see main.cpp for interfaces/demos
Docker: (For linux)
- Build the docker image by running
docker build -t opencv:cpp .
to build the docker image with nameopencv
and tagcpp
- Modify the code as you wish. Also the default data folder for test is
./data
in the root path. - Modify the
test_segment.sh
. This is the script the container will run after it is set up. - Run the following command in the root path of the project.
docker run -it --rm \
-v $(pwd):/pointSegment \
opencv:cpp \
/pointSegment/test_segment.sh
Performance:
Please cite these two papers if you feel this code useful:
@ARTICLE{Lu2016Pairwise,
author = {Lu, Xiaohu and Yao, Jian and Tu, Jinge and Li, Kai and Li, Li and Liu, Yahui},
title = {PAIRWISE LINKAGE FOR POINT CLOUD SEGMENTATION},
journal = {ISPRS Annals of Photogrammetry, Remote Sensing \& Spatial Information Sciences},
year = {2016},
}
}
Feel free to correct my code, if you spotted the mistakes. You are also welcomed to Email me: [email protected]