PCL学习系列二:在Windows系统上安装PCL(Point Cloud Library)

5 篇文章 0 订阅
3 篇文章 0 订阅


一、前言

Point Cloud Library (PCL) 是一款开源库,广泛应用于3D点云数据处理。该库提供了一系列工具,涵盖点云滤波、特征估计、表面重建、3D模型配准、场景理解和机器学习等功能。PCL 在机器人导航、自动驾驶汽车环境感知、3D扫描、工业检测及增强现实等领域有着广泛应用。

继之前介绍在 Ubuntu 系统上安装 PCL 的博客之后,本文将详细介绍如何在 Windows 系统上安装 PCL。文章将涵盖所有必要的安装步骤,包括依赖库的安装和开发环境的配置,确保读者可以在 Windows 平台上顺利进行点云数据处理相关的开发和测试工作。


二、安装方法(以1.9.1版本为例)

1. 下载 PCL

PCL(Point Cloud Library)的源代码和预编译的二进制文件都可以从其官方网站或 GitHub 仓库下载。要下载最新版本的 PCL,可以访问:
官方网站:http://pointclouds.org/downloads/
GitHub 仓库:https://github.com/PointCloudLibrary/pcl
尽管官方推荐使用 vcpkg 来安装 PCL,该方法能有效管理依赖并保持配置的一致性,但对于不熟悉 vcpkg 的用户,这一过程可能显得较为复杂。因此,对于希望简化安装步骤的用户,直接下载并运行预编译的二进制文件是一个更为直接且高效的选择,尤其适合快速部署和使用 PCL。
比如,我们从github上下载了pcl 1.9.1版本的两个文件PCL-1.9.1-AllInOne-msvc2017-win64.exe和pcl-1.9.1-pdb-msvc2017-win64.zip。

2. 安装 PCL

安装步骤如下:

  1. 运行安装程序:
    下载后,双击 .exe 文件开始安装过程。
  2. 选择安装目录:
    安装向导会要求选择一个安装目录。可以使用默认路径,或者选择一个合适的目录来安装 PCL。
  3. 选择组件:
    安装向导会提供多个安装选项,包括选择安装哪些特定的组件。为确保完整的功能支持,请选择安装所有主要的 PCL 组件。同时,确保“3rdParty”组件被勾选,以包含所有必要的第三方库,这对于某些 PCL 功能的正常运行是必需的。
  4. 安装OpenNI2
    如果PCL 安装包中包含 OpenNI2,直接从包内运行 OpenNI2 的安装程序。安装完成后,确保 OpenNI2 的 Redist 目录已被添加到系统的 PATH 环境变量中。
    如果未包含 OpenNI2,您需要从 OpenNI GitHub 页面 下载最新版本并指定安装路径。
  5. 环境变量配置:
    如果安装程序没有自动配置环境变量,需要手动添加 PCL 安装路径下的 bin、include、和 lib 目录,以及 OpenNI2 的 Redist 目录到系统的 PATH 环境变量中。这样做确保了在开发和运行 PCL 应用时,系统能正确地找到所需的可执行文件和库。建议手动配置环境变量。
    OpenNI2的Redist要特别注意,否则会报由于找不到OpenNI2.dll,无法继续执行代码的错误。
  6. 处理 PDB 文件:
    比如我们可以解压下载好的pcl-1.9.1-pdb-msvc2017-win64.zip压缩文件,并将解压后的 .pdb 文件复制到 PCL 库文件所在的 lib 目录下,以便在调试时使用这些符号文件。这个目录只要在环境变量中就可以,我们一般建议直接放lib下面。

三、配置 PCL 使用 Visual Studio 和 CMake

在 Windows 上配置 PCL 以在 Visual Studio 中使用,可以通过以下步骤完成,确保安装并使用 CMake 的图形用户界面版本(CMake-GUI)进行配置。

  1. 安装必需软件:
    确保已安装 Visual Studio 和 CMake-GUI。CMake-GUI 提供一个直观的界面,允许用户更容易地配置项目和生成 Visual Studio 解决方案文件。

  2. 打开 CMake-GUI:
    启动 CMake-GUI 并准备配置您的 PCL 项目。

  3. 设置源代码和构建目录:
    在 CMake-GUI 中,设置“Where is the source code”为您的 PCL 源代码目录。
    设置“Where to build the binaries”为您希望放置生成的项目文件和编译输出的目录。

  4. 配置项目:
    在 CMake-GUI 中点击“Configure”按钮。此时,CMake 将提示您选择生成器。应选择与安装的 Visual Studio 版本相匹配的生成器,例如,如果安装了 Visual Studio 2019,应选择“Visual Studio 16 2019”作为生成器。
    在选择生成器的对话框中,还需要指定Optional platform for generator,选择“x64”以确保为 64 位系统生成适当的配置。这个特别重要,不这么做可能失败。
    确保在生成器选择过程中选中Use default native compilers选项。这确保 CMake 将使用默认安装的编译器进行项目配置,从而避免编译器兼容性问题。
    确认选择后,CMake 将开始分析项目,并可能要求您设置特定的项目选项。请检查并确保所有依赖路径正确设置,特别是如果您手动安装了 PCL 或其依赖库。这一步确保了项目能够找到所有必需的库和头文件,从而顺利编译。

  5. 调整 PCL 配置(可选):
    如果需要,可以在 CMake-GUI 中调整 PCL 的配置选项,如启用或禁用特定的组件和功能。
    这一步骤是可选的,取决于您的特定需求。

  6. 生成 Visual Studio 解决方案:
    确认配置无误后,点击“Generate”按钮生成 Visual Studio 解决方案文件。
    一旦生成过程完成,您可以在指定的构建目录中找到 .sln 文件。

  7. 打开 Visual Studio 解决方案:
    打开由 CMake 生成的 .sln 文件,这将在 Visual Studio 中加载您的 PCL 项目。在开始编译项目之前,一定要在解决方案资源管理器中找到 ALL_BUILD 和 ZERO_CHECK 项目并进行卸载。这样做确保当您构建整个解决方案时,所有依赖都能正确地更新和编译。项目卸载后,可以右键点击这些项目并选择“重新加载项目”。随后,您可以编译整个解决方案或特定项目,以便进行开发、运行和调试您的 PCL 应用。

通过使用 Visual Studio 和 CMake-GUI,您可以成功配置并使用 PCL。CMake-GUI 不仅简化了配置过程,还使项目设置管理变得更直观、方便。遵循正确的项目加载和卸载步骤可以避免编译时出现的常见问题,确保开发流程的顺畅。

四、可能的问题

先列举目前遇到的问题,后续会继续补充。

  1. 在windows下用visual studio 2022编译的时候,报错log2f的问题。
严重性	代码	说明	项目	文件	行	禁止显示状态
错误	C2169	“log2f”: 内部函数,不能定义	ply2pcd	D:\MySoft\PCL 1.9.1\include\pcl-1.9\pcl\pcl_macros.h	176	

错误 C2169 是因为在您的项目中尝试重新定义了一个已经由编译器提供的内部函数 log2f。这通常发生在包含 PCL 库头文件时,由于宏定义或编译器设置的问题,导致 log2f 函数的重复定义。
解决方法就是找到pcl_macros.h关于log2f的定义

#ifdef _WIN32
__inline float
log2f (float x)
{
  return (static_cast<float> (logf (x) * M_LOG2E));
}
#endif

将这段代码注释掉即可。


五、总结

本文详细介绍了在 Windows 系统上安装和配置 Point Cloud Library (PCL) 的全过程,从下载安装 PCL 及其依赖库,到使用 CMake 和 Visual Studio 配置和编译 PCL 项目。此外,还探讨了如何解决安装和编译过程中可能遇到的一些常见问题。

通过本教程,读者应能够在 Windows 平台上顺利设置 PCL 环境,并开始进行点云数据的处理和分析。无论是在机器人导航、自动驾驶汽车环境感知、3D扫描或其他相关领域的应用,PCL 都提供了强大的工具和功能支持。

希望这篇博客能帮助那些希望在 Windows 上使用 PCL 的开发者和研究人员减少配置的复杂性,更快地进入实际的开发和研究工作。如有任何疑问或需要进一步的帮助,请在评论区留言,我们将乐于提供支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值