ubuntu系统qt+pcl安装及点云显示

安装参考资料:

Ubuntu下安装PCL库且在QT中配置应用

https://blog.csdn.net/hit1524468/article/details/79465980

Ubuntu下Qt中使用pcl库

https://blog.csdn.net/GreenHandCGL/article/details/81585629

 

显示参考资料:

官网:

http://pointclouds.org/documentation/tutorials/pcl_visualizer.php

PCLVisualizer可视化类

https://blog.csdn.net/u013019296/article/details/70052312

Qt中利用PCL显示点云和面,并进行点云变换,面变换

https://blog.csdn.net/hss468/article/details/80514805

pip方式安装pcl:

https://www.cnblogs.com/lifeofershisui/p/9037829.html

 

1 环境说明

 

1.1 ubuntu版本

ubuntu16.04 :

跳过本节,执行后续步骤;

ubuntu18.04 :

需要安装boost,版本boost 1.62出现过问题,推荐版本boost 1.58,

所有历史版本见网址:

https://www.boost.org/users/history/

boost 1.58 版本见网址:

https://www.boost.org/users/history/version_1_58_0.html

参考网址:https://blog.csdn.net/abc13310086/article/details/79381820

1.2 qt安装详细步骤:

https://blog.csdn.net/lzp_k2/article/details/82662112

1.3 pcl安装

1.3.1首推方式:pip安装

三句话搞定,会自动安装依赖包,安装完直接使用。

安装完成后,会顺带将vtk和eigen都安装。

很方便。需要联网。

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl

sudo apt-get update

sudo apt install libpcl-dev

当时日期2018.11.30:

默认安装pcl1.7, vtk6.2,eigen3.

当时日期2019.2.21:

默认安装pcl1.8, vtk6.3,eigen3.

注意在qt下调用时,一定选择正确的库路径,否则会报告奇葩问题。

在qt工程.pro文件中,添加如下代码,注意版本号需要对应:

#eigen3
INCLUDEPATH += /usr/include/eigen3
#VTK
INCLUDEPATH += /usr/include/vtk-6.2
LIBS += /usr/lib/x86_64-linux-gnu/libvtk*.so
#pcl
INCLUDEPATH += /usr/include/pcl-1.7/
LIBS += /usr/lib/x86_64-linux-gnu/libpcl*.so

 

1.3.2其次方式:手动安装

步骤繁杂,容易出错,不推荐。

但是可以安装历史版本。所有历史版本见如下网址:

https://github.com/PointCloudLibrary/pcl/releases/

例如pcl-1.7的稳定版本地址:

https://github.com/PointCloudLibrary/pcl/releases/tag/pcl-1.7.2

对手动安装,如感兴趣,见后记。

 

1.4 pcap install 

有的工程用到了pcap

https://blog.csdn.net/qq_21792169/article/details/52496796

 

2 步骤:

2.1例程

PCL示例代码详细解释:

https://blog.csdn.net/u013019296/article/details/70052312

参考:Qt中利用PCL显示点云和面,并进行点云变换,面变换

https://blog.csdn.net/hss468/article/details/80514805

 

2.2关于setCameraPosition

这么重要个函数。竟然官网没有有效介绍。

有时间再续。

 

3 后记

3.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.8 libflann-dev

sudo apt-get install libeigen3-dev

sudo apt-get install libboost-all-dev

sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-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 qt-sdk openjdk-8-jdk openjdk-8-jre

 

need: 25MB+4MB+2MB+15MB+17MB+2MB+256MB+303MB+0.7MB+...0MB...+165MB+600MB

 

flann install(可选)

pip install pyflann

https://blog.csdn.net/qq_30850767/article/details/80026403

7.1MB

 

eigen(可选)

pcl install need eigen:

ubuntu16.04+eigen3安装

office download: http://eigen.tuxfamily.org/index.php?title=Main_Page

https://www.cnblogs.com/newneul/p/8256803.html

sudo tar -xzvf eigen-eigen-5a0156e40feb.tar.gz -C /usr/local/include
sudo mv /usr/local/include/eigen-eigen-5a0156e40feb /usr/local/include/eigen3

2MB

若要正确安装pcl库,步骤应为先安装vtk

vtk安装(可选):

参考网页:

https://www.vtk.org/Wiki/VTK/Building/Linux

https://blog.csdn.net/GreenHandCGL/article/details/81585629

安装包官网下载:

https://www.vtk.org/download/#latest

并解压得到:VTK-7.1.1文件夹。

[打开一个终端执行指令:]

拷贝安装文件夹到系统目录/usr/local/src:

sudo cp -a VTK-7.1.1 /usr/local/src  

cd /usr/local/src  //进入系统目录

sudo mkdir VTK-build  //在安装文件夹同级建立一个build文件夹

sudo cmake /usr/local/src/VTK-7.1.1/  

sudo make

sudo make install

发现系统安装PCL过程中已经过VTK了,留个纪念吧:

/usr/include/vtk-6.2

opengl安装:

https://opencv.org/releases.html

安装VTK过程中已经自动安装了。不需要装了。

pcl版本下载

源码最新版本:https://github.com/PointCloudLibrary/pcl

源码历史1.8.1:https://github.com/PointCloudLibrary/pcl/tree/pcl-1.8.1

源码其他版本类似。

预编译过的所有版本:https://github.com/PointCloudLibrary/pcl/releases

 

安装指令

解压安装包,进入安装包后打开终端,执行如下指令:

mkdir build //按照习惯,在安装包内新建构建路径,避免目录凌乱

cd build //进入构建路径

cmake .. //路径..指向安装包位置,也可以用绝对路径代替

make -j4 //make,使用4个CPU核

sudo make install //安装至默认路径
 

默认安装路径是:

.h头文件路径:/usr/local/include/pcl-1.8

.so库文件路径:/usr/local/lib/

 

安装中出现的问题:

安装1.9.0的问题:

错误提示:对‘inflateValidate@ZLIB_1.2.9’未定义的引用

参考操作:https://www.cnblogs.com/huhuai/p/9356913.html

https://blog.csdn.net/zhangruijerry/article/details/79724720 注意:要下载的deb包需要展开目录才能看到

都没有解决,安装deb时提示当前版本是1.2.8.因此改为使用pcl1.8.1

安装1.8.1的问题:

警告提示:/home/XXX/anaconda3/lib/libcurl.so.4: no version information available

参考操作:

libcurl.so.4: no version information available --curl 、pycurl报错已解决:

https://blog.csdn.net/dashen180309/article/details/81212348

(含软连接修改的分析) 安装caffe 出现libcurl.so.4: no version information available (required by cmake):

http://www.zhimengzhe.com/linux/329844.html

安装过程很漫长约0.5小时,带着warning安装完成了,因此libcurl.so.4的问题不去解决了。

 

注意1:在qt中的配置:

https://blog.csdn.net/hit1524468/article/details/79465980

 

主要代码:

LIBS += /usr/local/lib/libpcl_*.so

注意不要写成如下形式添加-L,否则貌似添加了,实际根本没有添加,qt编译没有的路径是不会报错:

LIBS += -L/usr/local/lib/libpcl_*.so

-L和-l是配合使用的,详见:

https://www.cnblogs.com/lit10050528/p/3936203.html

 

此时已经安装成功了。

注意2:在qt中的配置:

由于开始手动安装,pcl版本1.8;

编译正常,但是每次使用 pcl::visualization 时,总会提示:

...

The inferior stopped because it received a signal from the operating system.

Signal meaning :secmentation fault

...

后来又用pip安装过,pcl版本1.7;

将开始手动选择的以下库修改:

#INCLUDEPATH += /usr/local/include/pcl-1.8/
#LIBS += /usr/local/lib/libpcl*.so \

修改成如下路径:

INCLUDEPATH += /usr/include/pcl-1.7/
LIBS += /usr/lib/x86_64-linux-gnu/libpcl*.so \

不再报错了。

应该是pcl1.8和VTK等的版本还不是很搭配。

 

 

 

 

你可能感兴趣的:(linux,qt,pcl)