ubuntu18.04安装pcl1.9.1

news/2024/5/5 9:37:33/文章来源:https://blog.csdn.net/qq_46107892/article/details/126937253

ubuntu18.04安装pcl1.9.1所需的cmake3.14.3和vtk8.2.0

先安装Qt5,X11,OpenGL

根据VTK的要求要先安装Qt5,X11,OpenGL

根据 官方文档 ,先更新qt5的依赖,python、Perl、Ruby
再进入 官网 下载Qt5:https://download.qt.io/archive/online_installers/3.2/
或者进入 清华源 下载镜像
我选择了5在线安装的最新版本

sudo chmod a+x 然后把安装包拖到这个a+x后面直接把安装包拖到终端里

根据提示进行安装,安装完毕
2)安装x11

sudo apt-get install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev

3)安装OpenGL

sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev

4)安装libglut-dev

sudo apt-get install freeglut3-dev

5)安装metslib点云驱动包

下载地址:https://www.coin-or.org/download/source/metslib/metslib-0.5.3.tgz

tar xzvf metslib-0.5.3.tgzcd metslib-0.5.3./configuremake -j4sudo make install

安装CMAKE

下载地址:https://cmake.org/download/
解压:

tar -zxvf cmake-3.16.0-rc2.tar.gz

1:安装pcl所需依赖

sudo apt-get update  
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-devsudo apt-get install openjdk-8-jdk openjdk-8-jre
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

linux安装eigen3
首先在终端执行命令:

sudo apt-get install libeigen3-dev

由于Eigen文件夹被默认安装到了路径:/usr/include/eigen3/Eigen,用#include<Eigen/Dense>无法通过编译,故需将Eigen文件夹放到/usr/include 下,需执行命令:

sudo cp -r /usr/include/eigen3/Eigen /usr/include

2:opengl报错

解决方案

在CMakeLists.txtS上添加以下代码

set(OpenGL_GL_PREFERENCE LEGACY)

3:Could NOT find PCAP (missing: PCAP_LIBRARIES PCAP_INCLUDE_DIRS)Could NOT find PCAP (missing: PCAP_LIBRARIES PCAP_INCLUDE_DIRS)在安装PCL时会有这样的错误:Could NOT find PCAP (missing: PCAP_LIBRARIES PCAP_INCLUDE_DIRS)

3.1下载pcap包,地址:http://www.tcpdump.org/#latest-release

tar -zxvf libpcap-1.9.0.tar.gzcd libpcap-1.9.0./configuremake -j8sudo make install

3.2:如果在./configure时出现:

configure: error: Neither flex nor lex was found.

解决办法:

sudo apt-get install flex bison

4:下载libvtk7报错

解决办法

sudo apt-get install libvtk7-dev=7.1.1+dfsg1-2

还是报错

sudo apt-get install libvtk7-java=7.1.1+dfsg1-2

还是有的话

sudo apt-get install libvtk7-jni=7.1.1+dfsg1-2

这个报错需要多试几遍才能解决

5:下载VTK-8.2.0版本

地址:https://vtk.org/download/

安装依赖项

sudo apt-get install cmake-curses-gui
sudo apt-get install freeglut3-dev

下载下面适合的包

在这里插入图片描述

mkdir build
cd build
machine-gun

6:配置VTK

在这里插入图片描述

sudo make
sudo make install

7:PLC1.9.1下载地址:https://github.com/PointCloudLibrary/pcl/releases/tag/pcl-1.9.1

展开Module和VTK,然后分别在里面配置勾选这两个:Module_vtkGUISupportQt、VTK_Group_Qt ,点击configure和generate,出错

cd pcl-pcl-1.9.1
mkdir  build
cd  build

如添加选择

在这里插入图片描述

8:进行编译

make -j8

报错/usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:162:40:错误:“eigen_assert_exception”不是“Eigen”的成员if (errorCount) EIGEN_THROW_X(Eigen::eigen_assert_exception());

在这里插入图片描述

解决方案

在CMakeLists.txt上添加以下代码

include_directories("/usr/include/eigen3")

8.1:点云可视化工具

sudo make -j4 install

下载plc-tools

sudo apt-get install pcl-tools

9:验证

9.1: 在home目录下右击创建一个test_pcl文件夹,再创建一个源文件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;
}
  1. 2:在test_pcl文件夹下再创建一个配置文件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(test_pcl test_pcl.cpp)target_link_libraries (test_pcl ${PCL_LIBRARIES})install(TARGETS test_pcl RUNTIME DESTINATION bin)

9.3:编译

在test_pcl文件夹下再建一个build文件夹,在build文件夹下打开终端。

输入 cmake …,然后输入 make进行编译。

mkdir build
cd build
cmake ..
make
./test_pcl

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_10767.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

诡异的定时任务-quartz

引出问题 现在是2022年9月19日14:38:19 定时任务上一次执行的时间是2022-09-14 15:03:12.620 将近5天的时间没执行。 造成的结果是&#xff0c;数据没入库。 上次重启是2个月之前。2022-7-21 上午9:52 肯定是有问题的。需要排查下原因。 解决步骤 使用的是quartz 看…

Flutter快学快用03 Hello Flutter:三步法掌握 Flutter,开始你的第一个应用

本课时将进入 Flutter 开发实践应用。在进入实践应用之前&#xff0c;我先讲解最基础的环境搭建&#xff0c;然后会应用 Dart 语言开发第一个 App — Hello Flutter&#xff0c;最后再讲解一些开发过程中常用的调试方法和工具。 本课时需要一定的实践动手能力&#xff0c;因此…

关于java中的反射,我只能努力到这一步了

文章目录反射是什么反射的用途反射的缺点反射的基本运用获取Class 类对象类相关的反射获取包名获取supperClass获取Public成员类获取声明的类获取所有Public构造方法获取泛型参数获取实现的接口获取所有Public方法获取所有Public字段获取所有注释获取权限修饰符字段相关反射获取…

基于注解实现缓存的框架 -- SpringCache

目录 1、介绍 2、注解 3、 入门案例 3.1 环境准备 3.2 CachePut注解 3.3 CacheEvict注解 3.4 Cacheable注解 3.4.1 测试 3.4.2 缓存非null值 4 、集成Redis 1、介绍 Spring Cache是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单地加一个注解…

Java开发学习---Maven私服(二)本地仓库访问私服配置与私服资源上传下载

一、本地仓库访问私服配置 我们通过IDEA将开发的模块上传到私服&#xff0c;中间是要经过本地Maven的 本地Maven需要知道私服的访问地址以及私服访问的用户名和密码 私服中的仓库很多&#xff0c;Maven最终要把资源上传到哪个仓库? Maven下载的时候&#xff0c;又需要携带用…

花了 3000 美元,我在 SaaStr 大会学到了什么?——码农驱动的 SaaS 增长之路

Michael Yuan&#xff0c;WasmEdge Runtime 创始人SaaStr 是 SaaS 领域最具影响力的大会之一。 历经疫情阴霾&#xff0c;SaaStr 盛会2022年再次归来。尽管 SaaS 估值如过山车一般疯涨又跌落&#xff0c;但即使在当下所谓的萧条中&#xff0c;SaaS 公司和产品的收入也在以前所未…

点成分享 | 带你了解移液器的原理及其分类

移液器&#xff0c;全称叫微量移液器&#xff0c;也叫移液枪、取样枪&#xff0c;是实验室定量移取微量液体体积的精密仪器&#xff0c;一次可量取0.1μL-10mL的液体&#xff0c;可实现精准的液体配比转移&#xff0c;多用于环境检测、医学实验室、生物技术实验室、食品检测实验…

一次明白 JDBC,ORM,JPA,SpringDataJPA 之间的关系

java持久层框架访问数据库一般有两种方式&#xff1a; 以SQL为核心&#xff0c;封装JDBC操作&#xff0c;如&#xff1a;MyBatis以java实体类为核心&#xff0c;将实体类和数据库表之间映射的ORM框架&#xff0c;比如&#xff1a;Spring Data JPA和Hibernate 接下来就是详细的…

青岛大学数据结构与算法——第4章

一 概述 串数组广义表 二 串 串定义&#xff1a;定义、串名、串值、串长、子串/真子串、字符位置、空格串 案例&#xff1a;病毒感染检测 串类型定义、存储结构及其运算 定义&#xff1a;ADT String 操作&#xff1a;strAssign、strCompare、strLength、concat、其他 存储…

39. 组合总和

39. 组合总和题目dfs思路一&#xff1a;dfs思路二&#xff1a;题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这…

相关性分析热力图(PythonMatlab代码实现)

目录 1 热力图 1.1 简介 1.2 语法 2 算例1&#xff08;Python代码实现&#xff09; 2.1 算例 2.2 Python代码 2.3 运行结果 3 算例2&#xff08;Python代码实现&#xff09; 4 算例3&#xff08;Python代码实现&#xff09; 4.1 算例 4.2 Python代码 4.3 运行结果 5…

Sovit3D智慧园区:数字孪生园区大屏一体化管理平台

建设背景 随着全球物联网、移动互联网、云计算、大数据等新一轮信息技术的迅速发展和深入应用&#xff0c;推动产业升级和发展数字经济成为重要发力点。而产业园区作为产业升级转型的重要载体&#xff0c;建设智慧园区的需求高速增长。智慧园区在加强信息基础设施建设的同时&a…

网络编程-TCP

软件结构分类 C/S结构 &#xff1a;全称为Client/Server结构&#xff0c;是指客户端和服务器结构。常见程序有&#xff31;&#xff31;、迅雷等软件 B/S结构 &#xff1a;全称为Browser/Server结构&#xff0c;是指浏览器和服务器结构。常见浏览器有谷歌、火狐等 网络编程三要…

Unity Editor 扩展入门1

教程来源:https://www.youtube.com/watch?v=491TSNwXTIg&t=204s 一个点击物体修改材质颜色的简单editor扩展工具 using UnityEngine; using UnityEditor;public class ExampleWindow : EditorWindow {[MenuItem("Window/Colorizer")]public static void ShowWi…

入行数字IC验证后会做些什么?需要哪些必备技能?

想必大家眼中的验证工程师就是整天对着电脑敲代码&#xff0c;这是大家对这个岗位的固定印象。其实真实情况并不是这样&#xff0c;那么入行数字IC验证后会做些什么&#xff1f;需要哪些必备技能&#xff1f;下面就一起来了解一下吧。 什么是IC验证工程师&#xff1f; 回答这…

15天深度复习JavaWeb的详细笔记(四)——HTML、CSS

Demo04-HTML、CSS 1&#xff0c;HTML 1.1 介绍 HTML 是一门语言&#xff0c;所有的网页都是用HTML 这门语言编写出来的&#xff0c;也就是HTML是用来写网页的&#xff0c;像京东&#xff0c;12306等网站有很多网页。HTML(HyperText Markup Language)&#xff1a;超文本标记语…

阿里云 window下 nginx 安装https证书的配置。

首先我这里使用的是阿里云免费的https证书。 免费证书可以申请20个&#xff0c;每个的有效期为1年。 我这里使用的是nginx部署&#xff0c;所以下载nginx的 证书压缩包 下载下来之后解压&#xff0c;有两个文件一个是&#xff0c; 一个是xxx.pem ,另一个是xxxx.key. nginx 配…

企业文件加密系统价格—公司文件加密系统多少钱?

企业文件加密系统多少钱&#xff1f;怎么收费&#xff1f;一般是根据需要购买的台数进行收费的。 现在市面上有很多做文件加密系统的厂商&#xff0c;每家收费标准都不一样&#xff0c;在百度搜索文件加密系统的价格&#xff0c;就会发现价格有几百到1000/台的不等。企业文件加…

详细讲解FuzzBench如何添加新的Fuzzer

最近几天一直在弄FuzzBench添加新的fuzzer&#xff0c;在添加过程中遇到各种问题&#xff0c;在此做详细记录。 拉取fuzzbench到本地 这一部分可以直接参考此链接FuzzBench预备条件 1.拉取代码到本地 git clone https://github.com/google/fuzzbench cd fuzzbench git submo…

我上线了一个炫酷的项目实战教程网站,主流技术一网打尽~

之前经常遇到小伙伴问我&#xff0c;之前写的某篇技术文章在哪里。又或者是拿着很早以前的部署文档问我&#xff0c;按这个文章怎么部署不起来。其实他们如果上过我的实战教程网站的话&#xff0c;估计就不会有这些问题了&#xff0c;我的原创文章基本都会同步上去。今天和大家…