Ubuntu22.04安装PCL(小白适用)

Ubuntu22.04安装PCL

apt安装

  • PCL官网给出利用apt安装
sudo apt-get install libpcl-dev
  • 测试平台Ubuntu22.04,2023年8月8日用apt安装的PCL版本为1.12.1
测试是否成功安装
  • 安装cmake,2023年8月8日用apt安装的cmake版本为3.22.1
sudo apt-get install cmake
  • 在桌面新建名称TestPCL的文件夹,并在文件夹内新建名称为build的文件夹
  • 在TestPCL内新建test.cpp,输入以下代码
#include <iostream>
#include <pcl/common/common_headers.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/console/parse.h>

int main(int argc, char **argv) 
{
    std::cout << "Test PCL !!!" << std::endl;
    
    pcl::PointCloud<pcl::PointXYZRGB>::Ptr point_cloud_ptr (new pcl::PointCloud<pcl::PointXYZRGB>);
    uint8_t r(255), g(15), b(15);
    for (float z(-1.0); z <= 1.0; z += 0.05)
    {
        for (float angle(0.0); angle <= 360.0; angle += 5.0)
        {
            pcl::PointXYZRGB point;
            point.x = 0.5 * cosf (pcl::deg2rad(angle));
            point.y = sinf (pcl::deg2rad(angle));
            point.z = z;
            uint32_t rgb = (static_cast<uint32_t>(r) << 16 |
                            static_cast<uint32_t>(g) << 8 | static_cast<uint32_t>(b));
            point.rgb = *reinterpret_cast<float*>(&rgb);
            point_cloud_ptr->points.push_back (point);
        }
        if (z < 0.0)
        {
            r -= 12;
            g += 12;
        }
        else
        {
            g -= 12;
            b += 12;
        }
    }
    point_cloud_ptr->width = (int) point_cloud_ptr->points.size ();
    point_cloud_ptr->height = 1;
   
    pcl::visualization::PCLVisualizer::Ptr RGBViewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
    pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB> rgb(point_cloud_ptr); 
    RGBViewer->setBackgroundColor(0,0,0);
    RGBViewer->addPointCloud<pcl::PointXYZRGB> (point_cloud_ptr,rgb,"rgb cloud");
    RGBViewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE,1,"rgb cloud");
    RGBViewer->addCoordinateSystem(1.0);
    RGBViewer->initCameraParameters();

    while (!RGBViewer->wasStopped())
    {
        RGBViewer->spin();
    }
    return 0;
}
  • 在TestPCL内新建CMakeLists.txt,输入以下内容
cmake_minimum_required(VERSION 2.6)
project(TEST)

find_package(PCL REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_executable(TEST test.cpp)

target_link_libraries (TEST ${PCL_LIBRARIES})

install(TARGETS TEST RUNTIME DESTINATION bin)

  • 在TestPCL内打开终端,编译安装运行
cd build
cmake ..
make
./TEST
  • 运行结果
    在这里插入图片描述

  • 同时会报VTK版本问题(新安装ubuntu,发现系统没有自带VTK,此警告不影响适用,暂不处理)
    在这里插入图片描述

源代码安装

  • 安装依赖
sudo apt-get update
# 以下为安装第三方依赖库(参考windows下3dParty)
sudo apt-get install libflann1.9 libflann-dev 
# 安装flnn,ubuntu22.04对应的版本是1.9
sudo apt-get install libeigen3-dev
# 安装eigen的库
sudo apt-get install libboost-all-dev
# 安装boost
sudo apt-get install libqhull* libgtest-dev
# 安装Qhull
sudo apt-get install libopenni2-dev
# 安装openni2
sudo apt-get install libvtk9.1 libvtk9.1-qt libvtk9-dev libvtk9-qt-dev 
# 安装vtk,2023年8月22日,使用sudo apt-get install libvtk+tab最新版本是9.1,dev版本的只有9,安装9-dev版本(VTK可以独立使用源码安装,本例直接在依赖项中安装)

# 以下为其他必须依赖
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
# libsub是一个开源的用C实现的,可以让应用程序与用户的USB设备进行通信的库,可移植,使用统一的API,支持Windows,MacOS,Linux,Androdi
sudo apt-get install libopenni-dev
# 安装openni
sudo apt-get install freeglut3-dev pkg-config
# 安装freeglut,是GLUT(openGL Utility Toolkit)的一个免费开源替代库,在程序中负责创建窗口,初始化opengl上下文和处理输入事件所需的所有系统特定的杂务,从而允许创建真正可移植的OpenGL程序 
  • 从github上下载PCL源码
sudo apt-get install git
# 安装git
git clone https://github.com/PointCloudLibrary/pcl.git
# 下载源代码
  • 编译源代码
# 首先安装make和cmake等
sudo apt-get install git build-essential linux-libc-dev
# 这个命令会安装一系列软件包,包括gcc,g++和make
sudo apt-get install cmake 
# 安装cmake

cd pcl
# 上面从github上下载的PCL源码放在了主文件夹下的pcl文件夹内
mkdir release
# 新建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
测试是否成功安装
  • 操作方法同上,结果证实以上源代码安装PCL流程可行
  • 8
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值