PCL1.14.0安装、使用教程

写在前面

  • 本文内容
    本文是PCL1.14.0在Windows下的安装、使用教程;
    PCL、Open3D其他版本的编译和使用相关教程见
    各个版本的Open3D、PCL的编译、使用教程
  • 平台/环境
    windows11(windows10): visual studio 2022;cmake 3.22+; VsCode
  • 转载请注明出处:
    https://blog.csdn.net/qq_41102371/article/details/136423654

安装PCL1.14.0

-下载
从官方下载编译好的包:
https://github.com/PointCloudLibrary/pcl/releases
在这里插入图片描述

  • 开始安装
    在这里插入图片描述
  • 环境变量
    为PCL添加环境变量,这一步是为了运行基于PCL的程序时自动加载PCL相关动态库的,可以选择添加,这里选择不添加,因为电脑上已有其他版本PCL的环境变量,下文会在使用时教大家怎么用脚本添加临时的环境变量
    在这里插入图片描述
  • 安装路径
    自己选择合适的安装路径,这里是D:\carlos\install\PCL 1.14.0,因为我自己所有的库都安装在这里
    在这里插入图片描述
  • 选择组件
    都选上
    在这里插入图片描述
    可能会弹出一些确认窗口,点击安装就行
    在这里插入图片描述
  • 安装完成
    在这里插入图片描述
    在这里插入图片描述
    此时检查下3rdparty/OpenNI2里面是不是只有一个.msi,如果是,那么就是你之前安装过其他版本的PCL可能导致OpenNI2没法安装到当前位置,那么把之前的复制过来就好了
    比如我之前装过PCL1.10.0,系统就会检测到OpenNI2已经被安装而不会继续被安装到当前目录
    在这里插入图片描述

使用

测试demo源码和文件

我们随便找一个PCL官方提供的demo,这里选的是正态分布滤波(官方文档在此),先点击下载测试数据,再找打本地源码路径
YOUR_PATH_\PCL 1.14.0\share\doc\pcl-1.14\tutorials\sources\statistical_removal
把下载的测试数据放到该目录下
在这里插入图片描述

使用VsCode

命令行cd进入该目录,并用vscode打开该目录(注意下列命令是我的安装路径,根据自己的修改)

d:
cd "D:/carlos/install/PCL 1.14.0/share/doc/pcl-1.14/tutorials/sources/statistical_removal"
code .

在这里插入图片描述
在这里插入图片描述

添加可视化源码

官方源码将滤波后的点云直接保存,没有可视化,下面是添加了可视化的代码,将下面的代码替换statistical_removal.cpp里的内容即可

#include <iostream>
#include <chrono>
#include <thread>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/filters/statistical_outlier_removal.h>
#include <pcl/visualization/cloud_viewer.h>


template <typename PointT>
void PcdVisualizer(pcl::PointCloud<PointT> cloud, bool coordinate = false)
{
  pcl::visualization::PCLVisualizer::Ptr viewer(
      new pcl::visualization::PCLVisualizer("3D Viewer"));
  viewer->setBackgroundColor(0, 0, 0);
  pcl::PointCloud<PointT>::Ptr cloud_ptr(new pcl::PointCloud<PointT>);
  *cloud_ptr = cloud;
  viewer->addPointCloud<PointT>(cloud_ptr, "cloud");
  if (coordinate)
  {
    viewer->addCoordinateSystem(1.0, "global");
  }
  while (!viewer->wasStopped())
  {
    viewer->spinOnce(100);
    // td::this_thread::sleep_for(100ms);
    std::this_thread::sleep_for(std::chrono::milliseconds(100));
  }
}


int main()
{
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered_inliers(new pcl::PointCloud<pcl::PointXYZ>);
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered_outliers(new pcl::PointCloud<pcl::PointXYZ>);

  // Fill in the cloud data
  pcl::PCDReader reader;
  // Replace the path below with the path where you saved your file
  reader.read<pcl::PointXYZ>("table_scene_lms400.pcd", *cloud);

  std::cerr << "Cloud before filtering: " << std::endl;
  std::cerr << *cloud << std::endl;

  // Create the filtering object
  pcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor;
  sor.setInputCloud(cloud);
  sor.setMeanK(50);
  sor.setStddevMulThresh(1.0);
  sor.filter(*cloud_filtered_inliers);

  std::cerr << "Cloud after filtering: " << std::endl;
  std::cerr << *cloud_filtered_inliers << std::endl;

  pcl::PCDWriter writer;
  writer.write<pcl::PointXYZ>("table_scene_lms400_inliers.pcd", *cloud_filtered_inliers, false);

  sor.setNegative(true);
  sor.filter(*cloud_filtered_outliers);
  writer.write<pcl::PointXYZ>("table_scene_lms400_outliers.pcd", *cloud_filtered_outliers, false);

  std::cout << "before filter" << std::endl;
  PcdVisualizer(*cloud);
  std::cout << "after filter" << std::endl;
  PcdVisualizer(*cloud_filtered_inliers);


  return (0);
}

编译运行

添加compile.bat和运行脚本run.bat,用来写编译脚本和运行脚本
在这里插入图片描述
在这里插入图片描述
compile.bat内容,这里DPCL_DIR就指定了寻找PCL的位置

cmake -DCMAKE_BUILD_TYPE=Release ^
-DPCL_DIR="D:/carlos/install/PCL 1.14.1/cmake" ^
-S ./ -B ./build

cmake --build ./build --config Release --target ALL_BUILD

run.bat内容,这里set PATH就在添加PCL的环境变量,程序运行时才能找到PCL的动态库

@REM 设置PCL环境变量
set PATH=D:\carlos\install\PCL 1.14.0\bin;^
D:\carlos\install\PCL 1.14.0\3rdParty\FLANN\bin;^
D:\carlos\install\PCL 1.14.0\3rdParty\VTK\bin;^
D:\carlos\install\PCL 1.14.0\3rdParty\Qhull\bin;^
D:\carlos\install\PCL 1.14.0\3rdParty\OpenNI2\Tools;%PATH%
@REM 运行程序
.\build\Release\statistical_removal.exe .\table_scene_lms400.pcd

开始编译,打开一个terminal窗口,执行编译脚本compile.bat
在这里插入图片描述
编译成功后生成statistical_removal.exe
在这里插入图片描述
运行,执行run.bat脚本

在这里插入图片描述
结果
滤波前
在这里插入图片描述
滤波后
在这里插入图片描述
如果你想使用vscode继续修改代码,需要源码跳转和补全功能,请参考:
VsCode配置PCL、Open3D自动补全

Visual Studio

如果你喜欢用Vsual Studio,则把上面的compile.bat,run.bat放到源码路径下后, 直接执行

cd "D:/carlos/install/PCL 1.14.0/share/doc/pcl-1.14/tutorials/sources/statistical_removal"
./compile.bat

这时候进入build,就会发现CMake帮你自动生成了vs的project,双击打开就可以了
在这里插入图片描述
并且会自动帮你配置好头文件目录,可以直接使用代码补全,以及源代码跳转
自动补全:
在这里插入图片描述
按住ctrl+左键即可源码跳转:
在这里插入图片描述
在这里插入图片描述

参考

文中已列出

主要做激光/影像三维重建,配准、分割等常用点云算法,熟悉open3d、pcl等开源点云库,技术交流、咨询可私信

  • 28
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
### 回答1: 以下是Ubuntu 20.04安装PCL库的教程: 1. 打开终端,输入以下命令更新系统: sudo apt-get update 2. 安装PCL库: sudo apt-get install libpcl-dev 3. 安装PCL工具: sudo apt-get install pcl-tools 4. 安装PCL可视化工具: sudo apt-get install pcl-visualizer 5. 安装PCL文档: sudo apt-get install pcl-doc 6. 验证PCL库是否安装成功: 在终端输入pcl_viewer,如果出现PCL可视化工具界面,则表示PCL库已经安装成功。 希望这个教程对你有帮助! ### 回答2: Ubuntu20.04是一个广泛使用的操作系统版本,因为它易于使用、功能强大,而且免费。另一方面,PCL库是一款用于处理3D点云数据的开源软件库。如果您正在使用Ubuntu20.04,那么您需要按照以下过程安装PCL库。 第一步:安装必要的依赖项 在安装PCL库之前,您需要通过命令行安装以下依赖项: sudo apt-get update sudo apt-get install g++ sudo apt-get install cmake sudo apt-get install libusb-1.0-0-dev sudo apt-get install libboost-all-dev sudo apt-get install libeigen3-dev sudo apt-get install libvtk7-dev sudo apt-get install libvtk7-qt-dev sudo apt-get install libpcl-dev 这些命令将会更新软件仓库列表并安装所有必要的依赖项。 第二步:下载源代码和安装PCL库官方网站(https://pointclouds.org/downloads/)下载源代码,并在下载完成后使用以下命令进行安装: mkdir pcl-build cd pcl-build cmake .. make -j4 sudo make install 以上命令将下载源码,并用CMake构建安装。make命令将编译安装文件,并用sudo make install命令将它们安装到系统目录中。 第三步:测试和验证 安装和编译完成之后,您可以通过以下命令检查安装结果是否正确: pcl_config --version 如果您看到正确的版本号,那么您的安装已经完成。 总之,在Ubuntu20.04上安装PCL库并不难,只需执行上述步骤并确保您的计算机上已安装所有必要的依赖项。如果您是初学者,这些命令可能需要更详细的说明和解释,但如果您遵循上述步骤,您将能够很容易地轻松完成这个过程。 ### 回答3: Ubuntu 20.04是最新的Ubuntu操作系统版本。它是基于Debian的开源Linux操作系统。在Ubuntu 20.04中,您可以使用命令行或软件中心来安装各种库文件和软件包。在这篇文章中,我们将学习如何安装 Point Cloud Library (PCL)库,它是一个广泛使用的计算机视觉库,用于3D点云处理。下面是安装PCL库的详细教程: 步骤1:安装依赖库 首先,我们需要安装PCL库的依赖库。打开终端,运行以下命令: ``` sudo apt update sudo apt install git build-essential linux-libc-dev cmake cmake-gui libusb-1.0-0-dev libusb-dev libudev-dev mpi-default-dev openmpi-bin openmpi-common libflann1.9 libflann-dev libeigen3-dev libboost-all-dev libvtk6-dev libvtk6.3 libvtk6-qt-dev libvtk6.3-qt libqhull7 libqhull-dev libpcap-dev ``` 步骤2:下载PCL库源码 接下来,我们需要从PCL官方网站下载最新的PCL库源码。在终端中运行以下命令: ``` cd ~ git clone https://github.com/PointCloudLibrary/pcl.git cd pcl ``` 步骤3:编译PCL库 现在,我们需要使用CMake工具编译PCL库。输入以下命令: ``` mkdir release cd release cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON \ -DBUILD_global_tests=ON -DBUILD_kdtree=ON \ -DBUILD_octree=ON -DBUILD_outofcore=ON \ -DBUILD_people=ON -DBUILD_recognition=ON \ -DBUILD_registration=ON -DBUILD_search=ON \ -DBUILD_segmentation=ON -DBUILD_simulation=ON \ -DBUILD_stereo=ON -DBUILD_surface=ON \ -DBUILD_tools=ON -DBUILD_tracking=ON \ -DBUILD_visualization=ON .. ``` 然后,执行以下命令来编译PCL库: ``` make -j4 sudo make install ``` 步骤4:测试 安装完成后,我们可以使用以下命令检查PCL库是否安装成功: ``` pcl_viewer ``` 如果PCL Viewer 启动并显示其默认场景,则说明PCL库已经成功安装在您的系统中。至此,我们已经完成了PCL库在Ubuntu 20.04中的安装。 总结: PCL库是一个广泛使用的计算机视觉库,用于3D点云处理。在Ubuntu 20.04中,可以使用命令行或软件中心来安装各种库文件和软件包。本文提供了完整的PCL库安装教程,包括安装依赖项、下载源代码、使用CMake编译和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诺有缸的高飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值