Ubuntu18.04安装PCL1.8.1、VTK7.1.1和python-pcl

写在前面:csdn上的大部分安装教程,采用自行编译的安装方式,需要安装一系列依赖库,但本人在编译成功后,使用的过程中一直报pcl_visualization相关的错误,尝试多次无果后,找到了有效的安装方法,

一、Ubuntu18.04安装PCL并测试

PCL官网给了安装方式,一行命令直接搞定,具体步骤如下:
1、更新
sudo apt-get update
2、安装VTK,想运行pcl的视觉模块,必须安装它。我安装的7.1.1版本:VTK官网下载压缩文件
下载完解压、安装、编译:创建build文件夹,在build目录下:
cmake ..
sudo make
sudo make install
3、安装pcl
sudo apt-get install libpcl-dev pcl-tools
4、安装OpenGL相关的包
sudo apt-get install freeglut3-dev
5、此时安装完成,可以看到安装的版本为pcl1.8.1
6、测试
示例:test_pcl.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>
using namespace std;
 
int main(int argc, char **argv) {//柱型点云测试
  cout << "Test PCL !" << 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 = cos (pcl::deg2rad(angle));
      point.y = sin (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::CloudViewer viewer ("pcl—test测试");

  viewer.showCloud(point_cloud_ptr); 
  while (!viewer.wasStopped()){ };
  return 0;
}

建立配置文件:CMakeLists.txt,写入:

cmake_minimum_required(VERSION 2.6)
project(test_pcl)
find_package(PCL 1.8 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")
add_executable(test_pcl test_pcl.cpp)
target_link_libraries (test_pcl ${PCL_LIBRARIES})
install(TARGETS test_pcl RUNTIME DESTINATION bin)

测试结果:
在这里插入图片描述

二、安装python-pcl

1、安装Anaconda,便于环境管理

bash Anaconda3-2021.05-Linux-x86_64.sh

2、修改profile文件

sudo vi /etc/profile

在文件的末尾加上anaconda环境:

#Anaconda
export PATH=$PATH:/home/software/anaconda3/bin

保存:

source /etc/profile

3、创建环境
conda create -n name python=3.8
也可以直接将已有的环境直接拷贝到/anaconda3/envs文件夹中,也能直接使用,注意将/anaconda3/envs/crfnet/bin文件中pythonpython3权限改成可执行的,否则直接激活这个环境之后,python仍然用的是系统的版本。
4、安装pcl

git clone https://github.com/strawlab/python-pcl.git
cd python-pcl

修改setup.py,将https://github.com/strawlab/python-pcl/blob/1d83d2d7ce9ce2c22ff5855249459bfc22025000/setup.py#L729这几行 (安装的 pcl 版本为1.8,所以需要修改 pcl1.8版本相应的if分支)。

elif pcl_version == '-1.8':
        # pcl 1.8.0/1?(Ubuntu 18.04)(melodic)
        vtk_version = '7.0'
        # pcl 1.8.1?
        # vtk_version = '8.0'
        vtk_include_dir = os.path.join('/usr/include/vtk-' + vtk_version)
        vtk_library_dir = os.path.join('/usr/lib')

修改为:

    elif pcl_version == '-1.8':
        # pcl 1.8.0/1?(Ubuntu 18.04)(melodic)
        vtk_version = '7.1' #改成7.1,安装的vtk版本为7.1
        # pcl 1.8.1?
        # vtk_version = '8.0'
        # 改下边这两个路径
        vtk_include_dir = os.path.join('/usr/local/include/vtk-' + vtk_version)
        vtk_library_dir = os.path.join('/usr/local/lib')

然后开始编译:

python setup.py build_ext -i
python setup.py install
sudo apt-get install pcl-tools
  • 2
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 以下是在Ubuntu 18.04上安装PCL 1.8.1的步骤: 1. 打开终端,更新软件包列表: sudo apt-get update 2. 安装依赖项: sudo apt-get install git build-essential linux-libc-dev libusb-1.--dev libudev-dev cmake cmake-gui libgtk2.-dev pkg-config libboost-all-dev libpcl-dev libvtk6-dev libvtk6-qt-dev libvtk6.3 libvtk6.3-qt libeigen3-dev libflann-dev libqhull-dev libpcap-dev 3. 克隆PCL存储库: git clone https://github.com/PointCloudLibrary/pcl.git 4. 进入PCL目录: cd pcl 5. 创建build目录: mkdir build 6. 进入build目录: cd build 7. 运行cmake: cmake .. 8. 编译PCL: make -j4 9. 安装PCL: sudo make install 10. 验证PCL是否安装成功: pcl_viewer 如果一切正常,PCL查看器应该启动并显示一个点云。 希望这可以帮助你安装PCL 1.8.1。 ### 回答2: Ubuntu 18.04是一种很流行的Linux操作系统,它的开源性、可靠性、兼容性和安全性受到了用户的广泛认可和支持。PCL(Point Cloud Library)是一个用于处理三维点云数据的开源C++库,目前已经成为了业内标配,因此很多人想要在Ubuntu 18.04系统中安装PCL 1.8.1,下面就来介绍一下安装方法。 1. 安装依赖项 在终端中输入以下命令: sudo apt-get install git build-essential linux-libc-dev 这些命令将安装一些基本的依赖项,这些依赖项将在后面安装PCL的过程中用到。 2. 克隆PCL库存储库 在终端中输入以下命令: git clone https://github.com/PointCloudLibrary/pcl.git 这个命令将在你的当前目录下下载PCL库存储库。 3. 安装PCL库 进入pcl目录,执行以下命令: cd pcl/ mkdir build cd build cmake .. make 等待执行完以上命令,然后执行以下命令安装: sudo make install 4. 安装可选的依赖库 如果你需要使用PCL的一些可选功能,例如OpenNI,SSE,AVX等,你需要先安装一些相关的库。在终端中输入以下命令: sudo apt-get install -y libusb-1.0-0-dev libusb-dev libudev-dev libxi-dev libqt4-dev libpcl-dev libvtk6-dev libjpeg-dev libpng-dev libeigen3-dev libboost-all-dev doxygen libflann-dev libvtk6-qt-dev libglew-dev 以上命令将安装OpenNI、SSE、AVX依赖库等等,如果你需要其他的依赖库,可以自己根据需要安装。 5. 验证PCL安装 执行以下命令: pcl_viewer 如果一切顺利,将在屏幕上打开PCLViewer GUI,证明你已经成功安装PCL。如果你遇到了任何问题或者错误,请重新检查你执行的每个步骤是否正确和完整。 ### 回答3: Ubuntu是一款流行的操作系统,拥有丰富的软件库。但有时我们需要安装一些不在默认软件库中的软件,如PCL1.8.1。那么,该如何在Ubuntu18.04安装PCL1.8.1呢? 首先,我们需要添加PCL1.8.1的软件资源。可以在终端输入以下命令: ``` sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl sudo apt-get update ``` 执行完这两条命令后,系统会自动更新软件源,以便后续安装PCL1.8.1。 接着,我们可以使用以下命令进行安装: ``` sudo apt-get install libpcl-dev ``` 在此过程中,系统会自动安装PCL1.8.1依赖的库文件。 安装成功后,可以在终端输入以下命令验证PCL1.8.1是否已经成功安装: ``` dpkg -l libpcl-dev ``` 如果输出结果中包含“ii libpcl-dev”,则表示PCL1.8.1已经成功安装。 此外,对于使用PCL1.8.1开发的应用程序,还需要在编译时将PCL库链接到项目中。可以在Makefile或CMakeLists.txt文件中添加以下语句: ``` find_package(PCL 1.8 REQUIRED) include_directories(${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS}) target_link_libraries(your_project ${PCL_LIBRARIES}) ``` 总结起来,Ubuntu18.04安装PCL1.8.1的步骤为:添加PCL1.8.1软件资源、安装PCL库、在项目中链接PCL库。通过以上步骤,我们可以在Ubuntu18.04上方便地使用PCL1.8.1进行开发和应用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值