EasyCloud软件简介

运行环境:Win10 + PCL1.9 + VTK8.1 + Qt5.12 + VS2017

基于PCL点云库的三维点云数据处理软件

1.软件用户界面

本软件的用户界面主要包括以下几个部分(如图1):

[1]菜单栏,将软件功能模块划分为不同菜单,包括文件、视图、显示,点云简化、特征提取、三维重建以及帮助等;

[2]工具栏,常用工具按钮,如打开,保存,更改点云颜色等;

[3]点云文件管理窗口,用资源树的形式组织管理当前的点云文件;

[4]属性窗口,记录点云文件个数、点得个数,颜色等常用属性;

[5]操作记录窗口,记录用户操作日志,如操作时间、操作对象等;

[6]状态栏,显示软件当前工作状态;

[7]点云视图窗口,点云可视化的主要窗口,用来显示渲染点云;

[8]显示管理窗口,用来快速修改点云颜色及显示尺寸等。

其中[3]、[4]、[5]、[8]都是停靠窗口,可以在菜单栏的视图菜单中勾选以设置是否显示,方便用户个性化设置。

在这里插入图片描述

图1:软件用户界面

除基本用户界面外,本软件设计了一些必要的处理消息弹出窗口,提高交互性且不会冗余繁杂,提升用户体验。

2.软件功能设计
2.1 点云I/O功能

点云I/O功能是进行三维点云数据处理的基础。PCL点云库中IO模块包含读取和写入点云数据(PCD)文件的类和函数,本软件在此基础上实现了多种格式的三维点云数据读取、保存、格式转换等功能。点云I/O功能常用操作在文件菜单及工具栏中均有实现(如图2)。

在这里插入图片描述

打开动作可以实现PCD、PLY和OBJ在内的三种格式的三维点云数据的读取,并支持多选进行批量打开。

添加动作可以在不清空当前缓存点云数据的情况下,添加新的点云到内存中。方便用户同时对多个点云在同一点云视图窗口进行可视化和处理。

保存动作可以将点云数据保存为PCD和PLY格式,并且支持多个点云保存为一个文件,这样同时实现了点云格式转换和点云合并的功能。

清空动作用于一键清空内存中的点云数据,提高工作效率。

2.2 点云可视化功能

PCL点云库中的Visulization模块实现三维点云数据可视化,提供点云渲染和显示属性设置等功能。该类具有很全面的功能,如显示法线、绘制多种形状和多个视口等,其内部实现了添加各种3D对象以及交互实现等。其中addCoordinateSystem()函数可以在可视化窗口中的坐标原点(0,0,0)处添加一个红绿蓝三色的三维指示坐标轴,红色是X轴,绿色是Y轴,蓝色是Z,也就是说PCL点云库中使用的是右手三维坐标系。本软件调用此模块实现的点云可视化功能包括设置点云显示颜色、设置点云显示尺寸以及设置背景颜色等功能。

在这里插入图片描述

图3:点云可视化

2.3 点云滤波功能

该功能主要是三维空间中的点云数据集上进行滤波处理,以去除噪声、平滑数据或提取感兴趣的特征。

在这里插入图片描述

图4:点云滤波

2.4 点云特征提取功能

该功能主要是利用基于邻域分析的特征提取算法,实现油菜叶片边缘轮廓的提取。

2.5 点云简化功能

该功能主要是利用保留点云边界特征的点云简化方法,实现油菜点云简化处理。

2.6 点云三维重建功能

该功能基于贪婪三角投影算法,实现三维点云重建,并可以实现三角面片和三角网格两种显示。

2.7 其他功能

点云文件管理窗口通过资源树的形式实现当前点云文件组织管理,右键响应菜单实现点云的隐藏、显示、删除以及颜色设置等操作(如图5),非常快捷,之后还可以进一步扩展功能。

在这里插入图片描述

图5:点云资源树右键响应菜单

属性窗口显示记录了点云的一些属性:打开的点云的总个数、选中点云的点的数量、颜色信息、以及所有点云点的数量等,方便用户查看(如图6)。

在这里插入图片描述

图6:属性窗口

操作记录窗口记录用户操作日志,包括时间,操作对象,运行时间等信息,方便用户查看,右键响应菜单支持用户清空操作记录,或自行选择禁用或使用操作记录窗口(如图7)。

在这里插入图片描述

图7:操作记录窗口


对源码有需求的,请订阅后后台私信我~

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

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

相关文章

JAVA八股--集合面试题

AVA八股--集合面试题--上 java只有值传递,没有引用传递代理模式Java之HashMap和Hashtable选用 ArrayDeque 来实现队列要比 LinkedList 更好为什么HashMap的长度一定是2的次幂?HashMap常见遍历方式 java只有值传递,没有引用传递 文章讲解 文…

第四讲 Buffer Pool

问题:DBMS 是如何管理其内存和磁盘之间来回移动数据的? 答案:在决定如何在磁盘中来回移动数据时,我们必须考虑两个关键方面: 空间控制【Spatial Control】: 将页【pages】写在在磁盘的什么地方&#xff…

vsc ctrl+. 无效的问题

描述 ubuntu ibus 输入法 vsc ctrl.快捷键无效 输出 _e 解决方案: 运行 ibus-setup 把表情符号这里的快捷键改了

mysql 空间查询 多边形内的点

数据库查询 # 1新增空间point类型坐标字段 ALTER TABLE gaoxin_isdp.business_master ADD COLUMN location2 point NULL AFTER location;# 2从原字段更新点位字段,原字段poi1是字符串106.474596,29.464360 UPDATE business_master SET location POINT(substr(poi…

基于Springboot+Vue的前后端分离的简单Demo案例(一)

后端创建Springboot项目 创建数据库表结构及表信息 添加依赖&#xff08;pom.xml&#xff09; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/X…

微服务网关介绍

1. 为什么是Spring Cloud Gateway 一句话&#xff0c;Spring Cloud已经放弃Netflix Zuul了。现在Spring Cloud中引用的还是Zuul 1.x版本&#xff0c;而这个版本是基于过滤器的&#xff0c;是阻塞IO&#xff0c;不支持长连接。Zuul 2.x版本跟1.x的架构大一样&#xff0c;性能也有…

GraalVM详细安装及打包springboot、java、javafx使用教程(打包普通JAVA项目篇)

前言 在当前多元化开发环境下&#xff0c;Java作为一种广泛应用的编程语言&#xff0c;其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱&#xff0c;而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而&#xff…

Python模块与包管理使用pip与virtualenv【第151篇—模块与包管理】

Python模块与包管理&#xff1a;使用pip与virtualenv 在Python开发中&#xff0c;模块和包管理是至关重要的&#xff0c;它们使得代码的组织、重用和共享变得更加简单和高效。本文将介绍两个Python生态系统中最常用的工具&#xff1a;pip和virtualenv。通过这些工具&#xff0…

探索医用制氧机的种类及其应用场景

医用制氧机是一种能够制取高纯度氧气的制氧设备&#xff0c;广泛应用于各种场景。随着科技的进步和行业需求的增加&#xff0c;医用制氧机的种类和应用领域也在不断扩展。本文将探索医用制氧机的多元种类及其应用领域&#xff0c;以更好地了解这一设备的重要性。 一、医用制氧机…

java并发编程之 volatile关键字

1、简单介绍一下JMM Java 内存模型&#xff08;Java Memory Model 简称JMM&#xff09;是一种抽象的概念&#xff0c;并不真实存在&#xff0c;指一组规则或规范&#xff0c;通过这组规范定义了程序中各个变量的访问方式。java内存模型(JMM)屏蔽掉各种硬件和操作系统的内存访问…

快速区分清楚图形渲染中的AABB,KD树和BVH这些概念

快速区分清楚图形渲染中的AABB&#xff0c;KD树和BVH这些概念 主要想形象去区分好这些术语&#xff0c;目的是扫盲&#xff0c;先开好坑&#xff0c;内容持续填充。 0.先摆出这些词的全称 AABB&#xff1a; 原名&#xff1a;axis aligned bounding box&#xff1b;中文直译名…

流畅的 Python 第二版(GPT 重译)(二)

第三章&#xff1a;字典和集合 Python 基本上是用大量语法糖包装的字典。 Lalo Martins&#xff0c;早期数字游牧民和 Pythonista 我们在所有的 Python 程序中都使用字典。即使不是直接在我们的代码中&#xff0c;也是间接的&#xff0c;因为dict类型是 Python 实现的基本部分。…

科技助力高质量发展:新质生产力的崛起与企业数字化转型

引言 随着科技的飞速发展&#xff0c;我们正逐渐步入数字化智能时代&#xff0c;这个时代不仅为企业带来了无限的机遇&#xff0c;也让其面对前所未有的挑战。在这个快速变革的时代&#xff0c;企业必须不断调整自己的经营策略&#xff0c;适应数字化转型的浪潮&#xff0c;以…

使用appuploder上架App Store流程

使用appuploder流程笔记 1.如何没有账号去apple官网注册一个&#xff0c;地址&#xff1a;https://developer.apple.com/account 2.下载解压appuploder&#xff0c;双击打开&#xff0c;用刚刚注册的账号登录&#xff0c;下载地址&#xff1a;http://www.applicationloader.n…

PHP连接达梦数据库

PDO是一种在PHP中连接数据库的接口&#xff0c;可以通过PDO接口使用PHP连接达梦数据库。 1、安装PHP环境 检查当前环境是否安装PHP [rootlocalhost ~]# php -v 当前环境并未安装PHP&#xff0c;需要进行安装&#xff0c;选择安装PHP7.3版本。 2、安装 epel-release源和源管…

人工智能时代的引领者:AI提示工程激发大语言模型的无限潜能

文章目录 一、AI提示工程的概念与定义二、AI提示工程的应用领域三、AI提示工程的技术创新与突破四、AI提示工程的未来发展趋势《AI提示工程实战&#xff1a;从零开始利用提示工程学习应用大语言模型》亮点内容简介作者简介目录 一、AI提示工程的概念与定义 在当今日新月异的科…

分类预测 | Matlab实现BiTCN双向时间卷积神经网络数据分类预测/故障识别

分类预测 | Matlab实现BiTCN双向时间卷积神经网络数据分类预测/故障识别 目录 分类预测 | Matlab实现BiTCN双向时间卷积神经网络数据分类预测/故障识别分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现BiTCN双向时间卷积神经网络数据分类预测/故障识别。 2.自…

mysql四种事务隔离级别,2024金三银四

TransactionDefinition.PROPAGATION_MANDATORY&#xff1a;如果当前存在事务&#xff0c;则加入该事务&#xff1b;如果当前没有事务&#xff0c;则抛出异常。 TransactionDefinition.PROPAGATION_NESTED&#xff1a;如果当前存在事务&#xff0c;则创建一个事务作为当前事务的…

数据结构 二叉树 力扣例题AC——代码以及思路记录

LCR 175. 计算二叉树的深 某公司架构以二叉树形式记录&#xff0c;请返回该公司的层级数。 AC int calculateDepth(struct TreeNode* root) {if (root NULL){return 0;}else{return 1 fmax(calculateDepth(root->left), calculateDepth(root->right));} } 代码思路 …