PCL学习系列一:在Ubuntu上从源码安装PCL(Point Cloud Library)


前言

欢迎阅读这篇关于如何在Ubuntu系统上从源码安装Point Cloud Library(PCL)的简明指南。PCL是一个强大的开源库,广泛应用于3D点云的处理和分析,是机器人学、计算机视觉以及图像处理领域不可或缺的工具。无论您是一名研究人员、开发者还是爱好者,掌握如何正确安装PCL都是进入这一领域的重要一步。

在这篇博客中,我将带您走过安装PCL的整个过程,包括处理常见的配置问题和依赖关系。我们将从安装必要的依赖项开始,然后详细介绍如何从源码编译PCL,以及如何解决在这一过程中可能遇到的一些常见错误。本指南旨在提供一个清晰、简洁的步骤说明,帮助您顺利完成安装过程。

这个方法最高适用于pcl-1.11.1版本,pcl-1.12版本会出很多问题(我遇到的主要是找不到CMinpack的问题),这里不作详细讨论。


安装方法

在Ubuntu系统下从源码安装PCL(Point Cloud Library)是一个相对复杂的过程,但它允许您获得最新的功能和自定义安装。以下是从源码安装PCL的基本步骤:

  1. 安装依赖项
    首先,您需要安装PCL所依赖的一些库和工具。这个可以在cmake配置的时候根据报错信息来调整。
    我在编译时,主要是报了缺少Eigen3和Boost还有FLANN,直接apt安装就行。pcl的visualization模块依赖于 VTK(Visualization Toolkit)。如果在编译时没有安装 VTK,visualization 模块就不会被编译。但是不会报错,如果有可视化需求还是建议安装。
  • 安装Eigen3库
sudo apt-get install libeigen3-dev
  • 安装Boost库
sudo apt-get install libboost-all-dev
  • 安装FLANN 库
sudo apt install libflann-dev
  • 安装VTK库
sudo apt install libvtk7-dev
  • NVIDIA GPU架构
    CMake在配置过程中需要确定CUDA编译器的默认架构。
    使用nvidia-smi命令查到我的显卡是Tesla P40,通过GPU型号来查找对应的架构。
    在 CUDA 编程和配置方面,对于基于 Pascal 架构的 Tesla P40,其计算能力为 6.1,在 CMake 中,您可以设置 -DCUDA_ARCH_BIN="6.1"
    具体到本项目中,CMAKE_CUDA_ARCHITECTURES 变量被设置了,但是没有提供具体的值。这个变量用于指定CUDA编译器应该针对哪些GPU架构生成代码。当在编译需要CUDA支持的项目(如PCL的某些部分)时,正确设置这个变量是很重要的。
    所以编译时的指令应该加上-DCMAKE_CUDA_ARCHITECTURES="61"
  1. 克隆PCL源码
    使用Git克隆PCL的源码仓库:
git clone https://github.com/PointCloudLibrary/pcl.git
  1. 编译PCL并安装
    进入克隆的PCL目录,并创建一个构建目录:
cd pcl
mkdir build && cd build
# 61这个数字根据不同的显卡调整
cmake -DCMAKE_CUDA_ARCHITECTURES="61" ..
make -j$(nproc)
sudo make install

这里的-j$(nproc)命令将根据您的CPU核心数并行编译,以加快编译过程。


总结

本文介绍了在Ubuntu系统上从源码安装Point Cloud Library(PCL)的全过程。这个过程不仅仅是关于执行一系列命令,更是一个深入理解PCL配置和依赖管理的机会。通过克服安装中的各种挑战,您现在已经具备了将PCL应用于复杂项目的基础。

本指南的目的是提供一个结构化和详细的步骤说明,确保您能够在安装PCL时避免常见的陷阱和错误。从处理依赖项、解决编译错误,到配置CUDA架构,每一步都是为了确保您能够在自己的系统上顺利运行PCL。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值