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…

HJ6 质数因子HJ7 取近似值HJ8 合并表记录HJ9 提取不重复的整数

HJ6 质数因子 质数因子_牛客题霸_牛客网 题目分析 算法的核心是质因数分解,它通过以下步骤实现: 1. 处理2的因子 首先,算法处理输入数n的2因子。因为2是最小的质数,也是唯一的偶数质数,所以首先检查n能被2整除多少…

vsc ctrl+. 无效的问题

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

MR混合现实情景实训教学系统在消防安全模拟上的教学应用

MR混合现实情景实训教学系统在消防安全模拟上的教学应用,将为消防安全教育带来一场革命性的改变。该系统能通过混合现实技术将真实环境与虚拟环境结合,让学生亲身体验到真实的火灾现场,并在模拟环境中进行实践操作,提高消防安全意…

Linux系统——Mysql索引详解

目录 一、索引介绍 1.索引的概念 2.索引的作用 3.索引的缺点 4.创建索引的原则依据 5.索引优化 二、索引的分类和创建 1.索引分类 1.1普通索引 1.1.1直接创建索引 1.1.2修改表方式创建 1.1.3创建表的时候指定索引 1.2唯一索引 1.2.1直接创建唯一索引 1.2.2修改表…

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…

ArcGis 地图文档

ArcGis官网 https://developers.arcgis.com/labs/android/create-a-starter-app/ Arcgis for android 加载谷歌、高德和天地图 https://blog.csdn.net/qq_19688207/article/details/108125778 AeroMap图层地址: API_KEY: 7e95eae2-a18d-34ce-beaa-894d6a08c5a5 街道图&#xf…

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

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

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

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

docker构建镜像命令

编写dockerfile文件 例子1; FROM oraclelinux:7-slim ENV release19 ENV update13 RUN curl -o /etc/yum.repos.d/public-yum-ol7.repo https://yum.oracle.com/public-yum-ol7.repo && \yum-config-manager --enable ol7_oracle_instantclient && \yum in…

Git:分布式版本控制系统

目录 Git的特点和功能常见的功能和对应的命令 Git的特点和功能 Git是一个分布式版本控制系统&#xff0c;用于跟踪和管理项目的代码变更。它是由Linus Torvalds在2005年创建的&#xff0c;旨在管理Linux内核的开发。Git具有以下特点和功能&#xff1a; 分布式版本控制&#xf…

企业数字化问题,一个系统能否解决?

在企业数字化转型的过程中&#xff0c;很多企业都会遇到各种各样的问题。有时候&#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 实现的基本部分。…