栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

ubuntu18.04安装PCL点云库踩坑指南

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ubuntu18.04安装PCL点云库踩坑指南

注意:在安装pcl之前一定要将ubuntu的源切换到国内源,不然大概率成功不了!!!!!!!!!
#一、安装PCL
1.安装依赖包:

sudo apt-get update 
sudo apt install make 
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common 
sudo apt-get install libflann1.9 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk7.1-qt
sudo apt-get install libvtk7.1 
sudo apt-get install libvtk7-qt-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install openjdk-8-jdk openjdk-8-jre

2.下载pcl安装包,官网地址下载,这样可以自己选择需要的版本。我选择的1.8,也可以通过以下命令下载:

git clone https://github.com/PointCloudLibrary/pcl.git 

3.编译:
将下载好的安装包解压到指定文件夹,在终端中打开该文件夹。
创建编译包并进入:

mkidr release
cd release

cmake:

cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr 
 	  -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON  
      -DCMAKE_INSTALL_PREFIX=/usr ..

make:
使用以下命令查看CPU进程数,为的是下面make的更快:

nproc

我的进程数是4,所以我后面的数字是4,根据自身情况选择。

sudo make -j4

这个编译要一段时间,编译过程中可能会出现警告,不过不影响使用,我目前还没有遇到什么问题。
4.安装

sudo make install

#二、测试PCL
在桌面新建一个pcl_test文件夹,文件夹的名字一定要和我的一致,不然还需要修改CMakeLists.txt文件。
注意:在测试之前需要确保自己在ubuntu上配置了C++环境,也就是安装g++,gcc。

sudo apt install gcc
sudo apt install g++

1.在pcl_test文件夹下新建一个文件pcl_test.cpp文档并写入:

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
 
int main(int argc, char **argv) {//柱型点云测试
  cout << "Test PCL !" << endl;
  pcl::PointCloud::Ptr point_cloud_ptr (new pcl::PointCloud);
  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(r) << 16 | static_cast(g) << 8 | static_cast(b));
      point.rgb = *reinterpret_cast(&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 ("test_pcl");

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

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

cmake_minimum_required(VERSION 2.6)
project(test_pcl)
 
find_package(PCL 1.2 REQUIRED)
 
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
 
add_executable(pcl_test pcl_test.cpp)
 
target_link_libraries (pcl_test ${PCL_LIBRARIES})
 
install(TARGETS pcl_test RUNTIME DESTINATION bin)

3.在pcl_test文件夹下新建文件夹build并进入:

mkdir build
cd build

4.编译
依次在终端中输入:

cmake ..
make 

等待编译完成。。。

5.显示点云数据
编译完成后,会在build文件夹下生成一个可执行文件,运行它:

./pcl_test

滚动鼠标能够放大缩小点云数据,可以看到完整的点云数据。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/894467.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号