Cilantro
A lean C++ library for working with point cloud data
cilantro 是一个精简且快速的 C++ 库,用于处理点云数据,重点是 3D 案例。
Cilantro是一个精简高效的点云数据处理库,编程是C++,依赖项较少,但是相比较于PCL来说,代码更有可读性,PCL中大量的使用C++高级特性,阅读起来比较难并且不易重构拆解代码,而cilantro重点放在了3D案例上,尽量减少了样板代码的数量,包含了对点云常见的操作,是一个比较简单易懂的API,所以该库可以被广泛的模块化,并且支持多维度数据进行操作,同时保证对算法模块的模块化和可扩展性。作者是一位在Magic leap公司工作的计算机视觉工程师,是马里兰大学伯克利分校的计算机科学博士,是感知机器人小组的成员。
Cilantro是一个用于点云处理的C++库,具有高效、灵活、易用等特点。它提供了许多常用的点云算法,如点云滤波、点云配准、点云分割、点云聚类等等,并且支持多线程和GPU加速。以下是Cilantro库的一些主要特点:
-
点云数据结构:Cilantro支持多种点云数据结构,包括点云矩阵、KD树、范围搜索等。这些数据结构可以方便地用于点云算法的实现和优化。
-
点云滤波:Cilantro提供了多种点云滤波算法,如高斯滤波、均值滤波、统计滤波等。这些算法可以用于去除点云中的噪声和异常点。
-
点云配准:Cilantro提供了多种点云配准算法,如ICP、NDT、GICP等。这些算法可以将不同来源的点云进行配准,以便后续的点云处理和分析。
-
点云分割:Cilantro提供了多种点云分割算法,如基于法向量的分割、基于曲率的分割、基于聚类的分割等。这些算法可以将点云分成不同的组,以便后续的点云处理和分析。
-
点云聚类:Cilantro提供了多种点云聚类算法,如基于KMeans的聚类、基于DBSCAN的聚类、基于凝聚层次聚类的聚类等。这些算法可以将点云中的点聚成不同的组,以便后续的点云处理和分析。
-
多线程和GPU加速:Cilantro支持多线程和GPU加速,可以在多核CPU和GPU上并行处理点云数据,提高算法的效率和速度。
地址:
https://github.com/kzampog/cilantro