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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> CloudCompare自定义插件开发 -> 正文阅读

[人工智能]CloudCompare自定义插件开发

因项目需要,在win10系统下,基于开源点云显示、编辑、处理框架CloudCompare进行一些点云处理的功能开发,参考了其他几篇技术博客,对整个插件开发的过程做一个记录。


前言

CC(CloudCompare)的框架对于插件的开发有预留专门的插件接口,支持功能自定义的拓展,本文以QDSM插件开发为例,实现读取.las格式的点云,然后,基于PCL点云库,对点云进行栅格化处理,得到栅格化的二维数字表面模型DSM。


1、带UI界面的自定义插件开发步骤

1.1 源代码里找到插件开发模板

在源代码以下目录找到插件开发模板: ![在这里插入图片描述](https://img-blog.csdnimg.cn/d62fb35b403c4ce8b4a97e4ba5594580.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAVGhlX2Fuc3dlcl9tYW5iYQ==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) 复制ExamplePlugin文件夹,重命名为qDSM,在qDSM文件里面,应该有如下这些文件: ![在这里插入图片描述](https://img-blog.csdnimg.cn/47794b5598164406ba4e2d88aaebce8d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAVGhlX2Fuc3dlcl9tYW5iYQ==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)

1.2 修改文件夹qDSM下相应的文件名

1.2.1 修改CMakeLists文件

CMakeLists文件内容修改如下:

在这里插入图片描述

1.2.2 创建UI交互界面文件

在QT中设计交互界面DSMDlg.ui文件,这是一个自定义对话框类的ui界面,在配置工程文件的时候,会根据cmakefile中的(qt5_wrap_ui( generated_ui_list ${ui_list} )或者SET(CMAKE_AUTOUIC ON))语句,自动将这个.ui文件生成一个ui_DSMDlg.h文件。基于这个文件,修改ccDSMDlg.h,ccDSMDlg.cpp文件得到我们的自定义的对话框类ccDSMDlg。

在这里插入图片描述
如果要在插件中使用PCL或者OPENCV的API,在CMakePluginqDSM.cmake这里包含进去相关的库文件和头文件。如下所示:

1.2.3 更新资源.qrc文件和info.json文件

更改相关的类的名称以及路径如下:
在这里插入图片描述
在这里插入图片描述

1.2.4 更新qDSM.h和qDSM.cpp程序文件

除了更改相关的类的名称外,在qDSM.cpp的doAction{}函数内,添加自定义的函数代码进行数据处理即可。
在这里插入图片描述

1.3 重编译源代码

参照https://editor.csdn.net/md/?articleId=120169582进行源代码编译得到新的CC程序。

2、总结

整个过程是比较繁琐的,也参考了很多前辈的博客
参考链接:
CloudCompare插件编写一(插件框架)
CloudCompare插件编写二(数据结构)
CloudCompare插件编写三(算法实现)

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:16:52  更:2021-09-13 09:17:27 
 
开发: 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 15:49:21-

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