首页 > 系统相关 >Linux平台编译带PCL和PDAL插件的CloudCompare

Linux平台编译带PCL和PDAL插件的CloudCompare

时间:2022-10-05 18:11:46浏览次数:85  
标签:插件 cmake PLUGIN STANDARD usr PCL Linux CloudCompare PDAL

最近的综合课程设计需要用到CloudCompare这款软件处理点云数据,最开始我发现Debian的apt软件库就包含它,安装后却发现打不开.pcd格式的数据,于是需要从源码编译附带PCL插件的CloudCompare;另一方面我也想尽可能地多装点插件。操作过程中主要参考的是源码自带的BUILD说明。

一、安装PCL库

如果需要使用CloudCompare打开.pcd格式的点云数据,需要安装PCL插件,而该插件依赖系统提前安装PCL点云数据处理库。Debian系Linux相对方便一些,可以直接用apt下载PCL库:

sudo apt install libpcl-dev

二、编译安装PDAL

Debian的PDAL插件需要系统提前安装PDAL,理论上也可以直接从apt软件库安装PDAL,但是在后来编译CloudCompare的过程中总是报错找不到pdalconfig.cmake,所以我后来还是选择了从源码编译PDAL。官网的参考教程非常详细。

git clone https://github.com/PDAL/PDAL.git ~/Downloads/
cd PDAL-2.4.3-src
mkdir build && cd build
cmake-gui  # 打开cmake图形界面

source选择PDAL的源码文件夹(我这里是PDAL-2.4.3-src),build目录是刚刚新建的build的目录,然后就可以点击configure并且选择Unix Makefile(注:pdal作者推荐使用更快速的Ninja,但是我用Ninja出了点问题,所以就用Linux下cmake的默认配置,没发现区别),依次点击configure、generate之后cmake控制台窗口会输出一系列进程提示,成功的标志是结尾有如下两行提示:

Configuring done
Generating done

如果不进行变动的话大概率不会出其它问题,接着就可以make了:

make -j8
# 耐心等待构建到100%
sudo make install
# cmake 默认安装到 /usr/local,install之后build文件夹下会有一份install-manifest文件说明安装位置以方便卸载

OK!PDAL就编译完成了!

三、安装GDAL和libGeotiff

Debian最近在打造DebianGIS项目,目的是使Debian成为GIS友好的Linux发行版,目前GDAL和libGeotiff都是可以从软件仓库下载的。我之前安装过QGIS,所以这两样都已经安装了。

sudo apt install "gdal*"
sudo apt install "libgeotiff*"

四、编译安装CloudCompare并附带尽可能多的插件

编译CloudCompare的过程尽量参考Github上CloudCompare仓库的BUILD.md文件,也非常细致。

1. 安装依赖

sudo apt install libqt5svg5-dev libqt5opengl5-dev qt5-default qttools5-dev qttools5-dev-tools libqt5websockets5-dev

2. 下载源码

git clone --recursive https://github.com/cloudcompare/CloudCompare.git ~/Downloads/

3. cmake配置

经过了多次尝试,我将自己目前能装的CloudCompare插件都装上去了,cmake的配置命令如下:

cmake \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D PDAL_DIR=/usr/local/lib/cmkae/PDAL \
-D PDAL_CONFIG=/usr/local/bin/pdal-config \
-D OPTION_USE_GDAL=ON \
-D GDAL_INCLUDE_DIR=/usr/include/gdal \
-D GDAL_CONFIG=/usr/bin/gdal-config \
-D GDAL_LIBRARY=/usr/lib/libgdal.so \
-D PLUGIN_GL_QEDL=ON \
-D PLUGIN_GL_QSSAO=ON \
-D PLUGIN_IO_QADDITIONAL=ON \
-D PLUGIN_IO_QCSV_MATRIX=ON \
-D PLUGIN_IO_QDRACO=OFF \
-D PLUGIN_IO_QPDAL=ON \
-D PLUGIN_IO_QPHOTOSCAN=ON \
-D PLUGIN_IO_QRDB=OFF \
-D PLUGIN_IO_QSTEP=OFF \
-D PLUGIN_STANDARD_QANIMATION=ON \
-D QANIMATION_WITH_FFMPEG_SUPPORT=ON \
-D PLUGIN_STANDARD_QBROOM=ON \
-D PLUGIN_STANDARD_QCANUPO=ON \
-D PLUGIN_STANDARD_QCOLORIMETRIC_SEGMENTER=ON \
-D PLUGIN_STANDARD_QCOMPASS=ON \
-D PLUGIN_STANDARD_QCSF=ON \
-D PLUGIN_STANDARD_QFACETS=ON \
-D PLUGIN_STANDARD_QHPR=ON \
-D PLUGIN_STANDARD_QJSONRPC=ON \
-D PLUGIN_STANDARD_QM3C2=ON \
-D PLUGIN_STANDARD_QMPLANE=ON \
-D PLUGIN_STANDARD_QPCL=ON \
-D PLUGIN_STANDARD_QPCV=ON \
-D PLUGIN_STANDARD_QPOISSON_RECON=ON \
-D PLUGIN_STANDARD_QRANSAC_SD=ON \
-D PLUGIN_STANDARD_QSRA=ON \
-D PLUGIN_STANDARD_MASONRY_QAUTO_SEG=ON \
-D PLUGIN_STANDARD_MASONRY_QMANUAL_SEG=ON ..

4. 构建与安装

cmake --build . -j8
# build需要等待一会
sudo cmake --install .

5. 创建桌面图标

桌面图标位置可能不同,仅供参考哈。

5.1. 添加图标

将如下两张图片移动到/usr/share/icons/hicolor/256x256/apps/,命名为CloudCompare.pngccViewer.png

然后刷新桌面图标缓存

sudo gtk-update-icon-cache /usr/share/icons/hicolor

5.2. 添加桌面文件

cd /usr/share/applications/
sudo vim cloudcompare.desktop
# 输入以下内容
[Desktop Entry]
Type=Application
Name=CloudCompare
Comment=3D point cloud and mesh processing software
Exec=CloudCompare
Terminal=false
Categories=Graphics;3DGraphics;Viewer;
Icon=cloudcompare.png
Keywords=3d;processing;
# Esc, 然后:wq保存退出

sudo vim ccViewer.desktop
# 输入以下内容
[Desktop Entry]
Type=Application
Name=CloudCompare Viewer
Comment=3D point cloud and mesh processing software
Exec=ccViewer
Terminal=false
Categories=Graphics;3DGraphics;Viewer;
Icon=ccViewer.png
Keywords=3d;viewer;
# Esc, 然后:wq保存退出, 注销后就可以看见图标了

五、遇到的问题与参考材料

1. 找不到qt5-default

影响不是特别大,参考这篇博客

2. 编译好的CloudCompare仍然打不开LAS文件或者LAZ文件

在CloudCompare启动过程中会有提示,假如仍然打不开las文件,可能是PDAL插件出问题了,会在CloudCompare的控制台输出日志

libQPDAL_IO_PLUGIN don't seem to be a valid plugin (can not load shred library lidpdal_base.so.14)

这个是因为CloudCompare在之前编译时没有找到pdal链接库的位置,如在cmake配置时按照说明加入-D PDAL_DIR=/usr/local/lib/cmkae/PDAL -D PDAL_CONFIG=/usr/local/bin/pdal-config好像可以解决该问题,但是我不确定这是否是主要原因。也有一些资料说需要将/usr/local/lib添加到系统路径。

3. 参考资料汇总

  1. (https://github.com/CloudCompare/CloudCompare/blob/master/BUILD.md)
  2. (https://pdal.io/en/stable/development/compilation/unix.html)
  3. (https://github.com/CloudCompare/CloudCompare/issues/1382)
  4. 路过图床提供在线图片支持

标签:插件,cmake,PLUGIN,STANDARD,usr,PCL,Linux,CloudCompare,PDAL
From: https://www.cnblogs.com/XiongHaiyang/p/16756044.html

相关文章

  • MySQL数据库的各种安装方式【Windows,Linux,Docker】一次都告诉你
      MySQL数据库是作为程序员来说必备的一个组件,而安装相对来说又是非常繁琐的,所以本文就给大家整理下MySQL的各种安装操作。官网下载地址:​​https://dev.mysql.com/downlo......
  • # 如何在Windows下运行Linux程序
    如何在Windows下运行Linux程序一、搭建Linux环境1.1安装VMwareWorkstationhttps://www.aliyundrive.com/s/TvuMyFdTseh1.2下载CentOS映像文件阿里云站点:ht......
  • Linux命令全解
    strace获取某个可执行文件执行过程中用到的所有系统调用:strace-fg++main.cpp&|vim查看g++编译过程调用了哪些系统调用,通过管道符用vim接收:%!grepexecve:......
  • Linux帐号和权限管理
    用户和用户组概述用户种类超级管理员:拥有最高权限的账户(默认叫做root)可以正常登录人可以使用普通用户:权限受限的用户可以正常登录人可以使用程序用户:不可以正......
  • rockylinux9.0静态ip配置
    方式一修改NetworkManager配置文件(ens33为我的网卡名)修改完成后,执行命令如下,使配置生效#重新加载配置文件[root@k8s-master~]#nmcliconnectionload/etc/NetworkM......
  • Linux的安装及管理程序
    源码编译安装优点:契合系统兼容性强如果你可以看懂源代码,修改新增功能比较自由缺点:如果编译出了问题,你看不懂源代码,无法解决安装过程复杂没有统一的管理人员安装过......
  • ubuntu Linux 开启root ssh登陆
      ubuntu登录ssh的时候,默认情况下会出现如下问题:tangkai@tangkaideiMac-Pro~%[email protected]@172.16.1.80'spassword:Permissiondenied,......
  • Sublime Text - Linux Package Manager Repositories
    LinuxPackageManagerRepositorieshttp://www.sublimetext.com/docs/linux_repositories.htmlSublimeTextincludesanauto-upgrademechanismonWindowsandMac......
  • docker 安装wordpress(linux)
    环境准备:linux的操作系统(我的用的是centos7.6版本)docker已经安装​步骤一:​拉取镜像(1)拉取镜像dockerpullwordpressdockerpullmysql#需要拉取wordpress和MySQL两个镜像(2)......
  • linux查看列出目录及子目录下的所有软链接
      在服务器上有时需要将某个目录(包括子目录)下的所的软链接列出来,方法当然是有,但有什么好的方法没?来看看下面的方法:1,使用ls-lR递归显示目录下的所有方便,然后过滤出......