文章目录
前言
PCL(Point Cloud Library)是一个开源的大型项目,专注于2D/3D图像和点云处理。PCL为点云数据的处理和分析提供了丰富的功能和算法,这些功能包括但不限于点云滤波、特征提取、表面重建、模型拟合、配准、分割等。下面我们再 Ubuntu 环境下安装 PCL 库。
一、更新系统软件包
首先确保 Ubuntu 系统上的软件包都是最新的,打开终端更新软件包。
sudo apt update
sudo apt upgrade
二、安装依赖项
PCL 依赖于一些其他的库和工具,使用以下命令安装这些依赖项。
sudo apt install git cmake libboost-all-dev libeigen3-dev libflann-dev libvtk7-dev libqhull-dev
PCL 编译与安装需要 make 与 camke,使用以下命令安装这些。
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake
三、下载 PCL 源码
在终端执行以下命令,将 PCL 源码下载到 Ubuntu 环境中。
sudo apt-get install git
git clone https://github.com/PointCloudLibrary/pcl.git
四、编译和安装 PCL
进入下载好的 PCL 库源码目录,并创建一个新的目录用于构建。
cd pcl
mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr\
-DCMAKE_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON \
-DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install
五、测试安装成功
新建文件夹 test ,并新建 pcd_write.cpp,CMakeLists.txt,build 文件夹。
1、 pcd_write.cpp
#include<iostream>#include<pcl/io/pcd_io.h>#include<pcl/point_types.h>intmain(){
pcl::PointCloud<pcl::PointXYZ> cloud;// 创建一个PointXYZ类型的点云对象 // 设置点云的基本属性
cloud.width =5;// 设置点云的宽度(点数)
cloud.height =1;// 设置点云的高度(通常为1,表示非组织化点云)
cloud.is_dense =false;// 设置点云是否稠密(false表示点云可能包含NaN或无穷值)
cloud.resize(cloud.width * cloud.height);// 根据宽度和高度调整点云的大小 // 使用随机数填充点云数据 for(auto& point: cloud){
point.x =1024*rand()/(RAND_MAX +1.0f);// 为点的x坐标赋一个0到1024之间的随机浮点数
point.y =1024*rand()/(RAND_MAX +1.0f);// 为点的y坐标赋一个0到1024之间的随机浮点数
point.z =1024*rand()/(RAND_MAX +1.0f);// 为点的z坐标赋一个0到1024之间的随机浮点数 }// 将点云数据保存为PCD文件
pcl::io::savePCDFileASCII("test_pcd.pcd", cloud);// 使用ASCII编码保存点云到文件
std::cerr <<"Saved "<< cloud.size()<<" data points to test_pcd.pcd."<< std::endl;// 输出保存的点云大小信息 // 遍历并打印点云中的每个点 for(constauto& point: cloud)
std::cerr <<" "<< point.x <<" "<< point.y <<" "<< point.z << std::endl;// 输出每个点的x, y, z坐标 return(0);}
2、CMakeLists.txt
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)project(MY_GRAND_PROJECT)find_package(PCL 1.3 REQUIRED)
# 将PCL的包含目录添加到项目的包含目录列表中,以便能够找到PCL的头文件
include_directories(${PCL_INCLUDE_DIRS})
# 将PCL的库目录添加到链接器搜索路径中
link_directories(${PCL_LIBRARY_DIRS})add_definitions(${PCL_DEFINITIONS})
# 添加一个可执行文件目标,名为pcd_write_test,源文件为pcd_write.cpp
add_executable(pcd_write_test pcd_write.cpp)
# 将PCL的库链接到pcd_write_test可执行文件目标。这里${PCL_LIBRARIES}包含了PCL及其依赖的所有库
target_link_libraries(pcd_write_test ${PCL_LIBRARIES})
3、build
cd build
cmake ..
make
当我们完成以上操作就会生成一个可执行文件,执行后会发现我们成功的生成了五个点云。
- 🚀 个人简介:CSDN「博客新星」TOP 10 , C/C++ 领域新星创作者
- 💟 作 者:锡兰_CC ❣️
- 📝 专 栏:【OpenCV • c++】计算机视觉
- 🌈 若有帮助,还请关注➕点赞➕收藏,不行的话我再努努力💪💪💪
其他:
更多专栏订阅推荐:
- 👍 【开卷数据结构】
- 💛 【备战蓝桥,冲击省一】
- 💕 从零开始的 c++ 之旅
- 💖 【OpenCV • c++】计算机视觉
版权归原作者 锡兰_CC 所有, 如有侵权,请联系我们删除。