IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> MacBook M1软件安装之CloudCompare(可读取pcd格式) -> 正文阅读

[人工智能]MacBook M1软件安装之CloudCompare(可读取pcd格式)


简介

???由于工作需要对点云进行处理,上网找了一些点云处理工具,最终选择用CloudCompare(http://www.cloudcompare.org/)这款软件。由于本人用的m1芯片的macos,而且平时处理点云使用的pcl库,点云一般都保存为.pcd格式,但是直接从官网下dmg安装后发现不能打开pcd格式的点云文件。可以看到官方提供的dmg安装包并不包含pcl的插件,ccViewer也没有提供pcd格式文件的查看。于是只能自己动手从源码编译了!
在这里插入图片描述
在这里插入图片描述

源码编译

1. 下载源码

? ??cloudcompare源码地址:https://github.com/CloudCompare/CloudCompare

? 熟悉的git clone将源码保存到本地了。

2. 编译

2.1 尝试编译

? ??得到源码后肯定是想办法编译了,简单粗暴,在源码仓库的主目录下

mkdir build
cd build
cmake ..

???这时应该会报很多错误,笔者也忘记具体解决了多少个错误才编译成功,从git更改的文件来复现一波。

2.2 CMakeLists修改

??大部分的问题都是出在找不到头文件找不到库这一类的东西上。

  • 问题1:ccMath.h头文件找不到。

    ???可以发现CloudCompare中很多文件包含了ccMath.h的文件,但是整个仓库都搜不到这个头文件。其实这个文件包含在他们另一个工程CCCoreLib中(源码地址:https://github.com/CloudCompare/CCCoreLib)。

    ???对于这个工程的编译没什么问题,就是git clone,mkdir build, cd build, cmake …, make -j4这么一套下来就编译成功了。不过笔者在这里对CMakeLists.txt文件稍作了修改

    set(CMAKE_BUILD_TYPE "release") # 此行添加在cmake_minimum_required( VERSION 3.10 ) 之后
    option( CCCORELIB_SCALAR_DOUBLE
    	"Define ScalarType as double (instead of float)"
    	ON
    ) # 此行的参数默认是OFF,笔者将其改为了ON,浮点数用double(精度更高嚒)
    

??这里笔者就没make install了,因为m1的磁盘权限管理比较坑,往往会因为创建不了文件夹导致失败。反正编译的库和头文件已经得到了。库文件为build下的libCCCoreLib.dylib,头文件目录就是源码主目录下的include以及build/export(编译完在这里悄悄生成了一个头文件 - 。-)。
??接下来继续回到CloudCompare这个工程,在主目录下的CMakeLists.txt中做以下修改:

# 以下行添加在project( CloudCompareProjects )后
set(CMAKE_BUILD_TYPE "release")
set(CCCORELIB_INCLUDE_DIR /Users/machineboy/repo/CCCoreLib/include  ~/repo/CCCoreLib/build/exports) # 这里改为自己电脑上对应的路径
link_directories( ~/repo/CCCoreLib/build)
include_directories(${CCCORELIB_INCLUDE_DIR})

? ??至此,问题1解决,主要是对CCCoreLib的依赖问题。

  • 问题2: ScalarType类型未定义

    ??打开CCCoreLib工程的include/CCTypes.h文件,ScalarType就是在这定义的,但是是根据宏定义来定义的,这就方便了,在cmake文件中定义一个宏就可以了。
    在这里插入图片描述

??打开cloudcompare工程主目录下的CMakeLists.txt,同样在project语句后添加以下宏定义:

add_definitions(-DCC_CORE_LIB_USES_DOUBLE)

??还记得笔者在问题1中修改的的以下语句吧

option( CCCORELIB_SCALAR_DOUBLE
	"Define ScalarType as double (instead of float)"
	ON
) # 此行的参数默认是OFF,笔者将其改为了ON,浮点数用double(精度更高嚒)

??如果这里使用默认参数OFF,则上述宏定义语句要变成

add_definitions(-DCC_CORE_LIB_USES_FLOAT)
  • 问题3:找不到vtkxxx头文件(好像是这个吧,记不清楚了)

??同样在CloudCompare主目录的CmakeLists.txt中添加头文件目录

include_directories(/opt/homebrew/Cellar/qt@5/5.15.2/lib/QtConcurrent.framework/Versions/5/Headers/) #改为自己电脑上的路径
  • 问题4: extern/CCCoreLib下找不到CMakeLists.txt文件

??注释掉lib/qCC_db的cmakelists.txt中的add_subdirectory( extern/CCCoreLib EXCLUDE_FROM_ALL )

  • 安装qpcl插件

??将plugins/core/Standard/qPCL/CMakeLists.txt中的安装选项打开,要安装其他插件同理。

# option( PLUGIN_STANDARD_QPCL "Install qPCL plugin" OFF )
option( PLUGIN_STANDARD_QPCL "Install qPCL plugin" ON )

2.3 完成编译

??这时候安装2.1的步骤直接编译应该就能编译成功了,虽然中间会有一大串警告。这时候在build/qCC文件夹下会有CloudCompare.app这个程序,打开,开心地拖进去pcd文件,纳尼?还是识别不了pcd格式。

??不要慌,打开build/ccPlugins文件夹,会发现其中有几个动态库,全部复制。然后进入CloudCompare.app/Contents,创建一个文件夹名称叫PlugIns,进入文件夹,将刚刚复制的动态库粘贴到这。

??大功告成,重新打开CloudCompare.app程序,拖入pcd文件,成功读取。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-15 15:52:28  更:2021-11-15 15:53:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 6:08:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码