CN117109430A - 一种基于点云数据的计算方法及装置 - Google Patents
一种基于点云数据的计算方法及装置 Download PDFInfo
- Publication number
- CN117109430A CN117109430A CN202310934850.8A CN202310934850A CN117109430A CN 117109430 A CN117109430 A CN 117109430A CN 202310934850 A CN202310934850 A CN 202310934850A CN 117109430 A CN117109430 A CN 117109430A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud data
- dimensional point
- cube
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 33
- 230000011218 segmentation Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 8
- 230000036961 partial effect Effects 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/002—Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/28—Measuring arrangements characterised by the use of optical techniques for measuring areas
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
Abstract
本申请实施例提供了一种基于点云数据的计算方法及装置,涉及数据处理技术领域。该方法包括:获取原始三维点云数据与指定立方体区域的坐标;基于所述指定立方体区域的坐标,从所述原始三维点云数据中获取初始三维点云数据;基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据;将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据;获取所述目标三维点云数据对应的多个微元层;获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积。本申请实施例用于提提高基于点云数据计算体积时的精度。
Description
技术领域
本公开涉及数据处理技术领域,具体涉及一种基于点云数据的计算方法及装置。
背景技术
目前,在点云数据计算领域,可以通过各种技术采集目标物体表面的点云数据,构建目标物体的三维模型,再通过三维模型获取目标物体的各种信息。例如,可以通过三维模型中的点云数据计算获取目标物体的体积等信息。
但是,由于目前在通过三维模型的点云数据进行目标物体体积的计算时,往往会由于采集到的目标物体的点云数据不全面或是存在遗漏,导致建立的目标物体的三维模型不准确,进而计算得到的目标物体的体积会出现误差,影响后续的分析与应用,因此,如何提高基于点云数据获取目标物体体积的精度,成为亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供了一种基于点云数据的计算方法及装置,用于提高基于点云数据计算体积时的精度。
第一方面,本申请实施例提供了一种基于点云数据的计算方法,包括:
获取原始三维点云数据与指定立方体区域的坐标;所述指定立方体区域的坐标是基于空间直角坐标系获取的;所述空间直角坐标系是基于所述原始三维点云数据对应的采集场景建立的,所述空间直角坐标系中的x轴和y轴构成的xoy平面与地面平行,z轴是垂直向上的,xoy、yoz、xoz平面相互垂直;
基于所述指定立方体区域的坐标,从所述原始三维点云数据中获取初始三维点云数据;所述初始三维点云数据是在所述指定立方体区域内的所述原始三维点云数据;
基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据;所述立方体三维点云数据是基于所述指定立方体区域的坐标生成的立方体外表面三维点云数据;
将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据;
获取所述目标三维点云数据对应的多个微元层;
获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积。
作为本申请实施例一种可选的实施方式,所述基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据,包括:
获取所述初始三维点云数据与所述立方体三维点云数据的重叠部分,以生成第一三维点云数据;
将所述立方体三维点云数据中的所述第一三维点云数据删除,获取待分割的立方体点云数据;
基于目标欧式聚类分割算法对待分割的立方体点云数据进行分割,获取所述至少一个目标立方体三维点云数据。
作为本申请实施例一种可选的实施方式,在基于目标欧式聚类分割算法对待分割的立方体点云数据进行分割,获取所述至少一个目标立方体三维点云数据之前,所述方法还包括:
根据所述原始三维点云数据的分辨率,对初始欧式聚类分割算法对应的预设参数进行调整,获取所述目标欧式聚类分割算法。
作为本申请实施例一种可选的实施方式,所述将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据,包括:
将所述初始三维点云数据投影至xoy平面,并基于边界提取算法获取与所述初始三维点云数据对应的至少一个平面边界;
将所述至少一个目标立方体三维点云数据投影至xoy平面,获取所述至少一个目标立方体三维点云数据对应的至少一个平面点云数据;
针对所述至少一个平面点云数据中的每一平面点云数据,若所述平面点云数据中有大于预设数量的点在所述平面边界内,则将所述平面点云数据对应的部分立方体三维点云数据与初始三维点云数据进行合并,获取所述目标三维点云数据。
作为本申请实施例一种可选的实施方式,所述获取所述目标三维点云数据对应的多个微元层,包括:
获取所述目标三维点云数据在预设方向的取值范围;
按照预设间隔长度将所述取值范围划分为多个微元;
基于所述多个微元,从所述预设方向将所述目标三维点云数据划分为多个微元层。
作为本申请实施例一种可选的实施方式,所述获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积,包括:
针对所述多个微元层中的每一个微元层,将所述微元层中的点云数据投影至xoy平面,获取所述微元层的平面点云数据;
基于所述微元层的平面点云数据获取所述微元层的平面点云数据的边界点,将所述边界点中的任一点作为起始边界点,按照预设方向对所述微元层的边界点进行排序,获取顺序边界点;
从所述起始边界点开始,基于所述顺序边界点依次获取由该边界点、该边界点的下一边界点与所述微元层的质心组成的多个三角形;
获取所述多个三角形的面积并累加,以获取所述微元层的平面面积;
将所述微元层的平面面积与所述微元层的高度相乘,获取所述微元层的体积;
将所述各个微元层的体积相加,获取所述目标三维点云数据对应的体积。
作为本申请实施例一种可选的实施方式,所述方法还包括:
根据所述原始三维点云数据的分辨率,调整预设距离;
根据所述原始三维点云数据的分辨率,调整预设间隔长度。
第二方面,本申请实施例提供了一种基于点云数据的计算装置,包括:
第一获取单元,用于获取原始三维点云数据与指定立方体区域;
处理单元,用于基于所述指定立方体区域的坐标,从所述原始三维点云数据中获取初始三维点云数据;所述初始三维点云数据是在所述指定立方体区域内的所述原始三维点云数据;
分割单元,用于基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据;所述立方体三维点云数据是基于所述指定立方体区域的坐标生成的立方体外表面三维点云数据;
合并单元,用于将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据;
第二获取单元,获取所述目标三维点云数据对应的多个微元层;
累加单元,用于获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积。
作为本申请实施例一种可选的实施方式,所述分割单元,具体用于获取所述初始三维点云数据与所述立方体三维点云数据的重叠部分,以生成第一三维点云数据;将所述立方体三维点云数据中的所述第一三维点云数据删除,获取待分割的立方体点云数据;基于目标欧式聚类分割算法对待分割的立方体点云数据进行分割,获取所述至少一个目标立方体三维点云数据。
作为本申请实施例一种可选的实施方式,所述分割单元,还用于根据所述原始三维点云数据的分辨率,对初始欧式聚类分割算法对应的预设参数进行调整,获取所述目标欧式聚类分割算法。
作为本申请实施例一种可选的实施方式,所述合并单元,具体用于将所述初始三维点云数据投影至xoy平面,并基于边界提取算法获取与所述初始三维点云数据对应的至少一个平面边界;将所述至少一个目标立方体三维点云数据投影至xoy平面,获取所述至少一个目标立方体三维点云数据对应的至少一个平面点云数据;针对所述至少一个平面点云数据中的每一平面点云数据,若所述平面点云数据中有大于预设数量的点在所述平面边界内,则将所述平面点云数据对应的部分立方体三维点云数据与初始三维点云数据进行合并,获取所述目标三维点云数据。
作为本申请实施例一种可选的实施方式,所述第二获取单元,具体获取所述目标三维点云数据在预设方向的取值范围;按照预设间隔长度将所述取值范围划分为多个微元;基于所述多个微元,从所述预设方向将所述目标三维点云数据划分为多个微元层。
作为本申请实施例一种可选的实施方式,所述累加单元,具体用于针对所述多个微元层中的每一个微元层,将所述微元层中的点云数据投影至xoy平面,获取所述微元层的平面点云数据;基于所述微元层的平面点云数据获取所述微元层的平面点云数据的边界点,将所述边界点中的任一点作为起始边界点,按照预设方向对所述微元层的边界点进行排序,获取顺序边界点;从所述起始边界点开始,基于所述顺序边界点依次获取由该边界点、该边界点的下一边界点与所述微元层的质心组成的多个三角形;获取所述多个三角形的面积并累加,以获取所述微元层的平面面积;将所述微元层的平面面积与所述微元层的高度相乘,获取所述微元层的体积;将所述各个微元层的体积相加,获取所述目标三维点云数据对应的体积。
作为本申请实施例一种可选的实施方式,所述处理单元,还用于根据所述原始三维点云数据的分辨率,调整预设距离;根据所述原始三维点云数据的分辨率,调整预设间隔长度。
第三方面,本申请实施例提供了一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在执行计算机程序时,使得所述电子设备实现上述任一项实施例所述的基于点云数据的计算方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一项实施例所述的基于点云数据的计算方法。
第五方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现第三方面或第四方面所述的基于点云数据的计算方法。
本申请实施例提供的基于点云数据的计算方法具体为:获取原始三维点云数据与指定立方体区域的坐标;所述指定立方体区域的坐标是基于空间直角坐标系获取的;所述空间直角坐标系是基于所述原始三维点云数据对应的采集场景建立的,所述空间直角坐标系中的x轴和y轴构成的xoy平面与地面平行,z轴是垂直向上的,xoy、yoz、xoz平面相互垂直;基于所述指定立方体区域的坐标,从所述原始三维点云数据中获取初始三维点云数据;所述初始三维点云数据是在所述指定立方体区域内的所述原始三维点云数据;基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据;所述立方体三维点云数据是基于所述指定立方体区域的坐标生成的立方体外表面三维点云数据;将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据;获取所述目标三维点云数据对应的多个微元层;获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积。本申请实施例利用所述至少一个立方体三维点云数据将所述初始三维点云数据补齐,以保证所述点云数据的完整,再将所述目标三维点云数据划分为若干个微元层,计算每个微元层的体积并累加,得到所述目标物体的总体积,以提高基于点云数据计算体积时的精度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,展示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要调用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于点云数据的计算方法的步骤流程图之一;
图2为本申请实施例提供的基于点云数据的计算方法的场景示意图之一;
图3为本申请实施例提供的基于点云数据的计算方法的场景示意图之二;
图4为本申请实施例提供的基于点云数据的计算方法的步骤流程图之二;
图5为本申请实施例提供的基于点云数据的计算方法的步骤流程图之三;
图6为本申请实施例提供的基于点云数据的计算方法的场景图;
图7为本申请实施例提供的基于点云数据的计算装置的结构示意图;
图8为本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,调用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
需要说明的是,在本文中,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请实施例中的基于点云数据的计算方法可以通过包含点云库(PointCloud Library,PCL)的c++代码文件通过Emscripten(一种编码器)编译成Webassembly字节码,以实现在浏览器端以最快的速度进行点云的测量。
其中,所述Emscripten是一种基于底层虚拟机(Low Level Virtual Machine,LLVM)的编译器,Emscripten可以将C/C++(一种编程语言)代码编译成JavaScript(一种编程语言)代码,但不是普通的JavaScript,而是一种叫做asm.js(一种具有“高度可优化”指令的JavaScript子集)的JavaScript变体。通过上述方法可以将本申请实施例提供的基于点云数据的计算方法编译进浏览器端,并在CPU上以接近原生的速度运行。这些代码的形式是二进制文件,可以直接在JavaScript中将它们当作模块来用。WebAssembly是一种运行在现代网络浏览器中的新型代码,能够提供新的性能特性和效果。
在上述内容的基础上,本申请实施例提供了一种基于点云数据的计算方法,参照图1所示,该基于点云数据的计算方法包括如下步骤S101-S106:
S101、获取原始三维点云数据与指定立方体区域的坐标。
其中,所述指定立方体区域的坐标是基于空间直角坐标系获取的;所述空间直角坐标系是基于所述原始三维点云数据对应的采集场景建立的,所述空间直角坐标系中的x轴和y轴构成的xoy平面与地面平行,z轴是垂直向上的,xoy、yoz、xoz平面相互垂直。
在一些实施例中,所述原始三维点云数据可以是采用现有技术获取,例如可以通过激光扫描仪(Laser Scanner/LiDAR Light Detection And Ranging),双目相机(StereoCamera)、深度相机(depth camera)等多种现有设备采集目标区域的图像,以获取所述原始三维点云数据。示例性的,所述激光三维扫描仪是利用激光测距的原理,通过记录被测物体表面大量的密集的点的三维坐标、反射率和纹理等信息,可快速复建出被测目标的三维模型及线、面、体等各种图件数据。主要应用于逆向工程,负责曲面抄数,工件三维测量,针对现有三维实物(样品或模型)在没有技术文档的情况下,可快速测得物体的轮廓集合数据,并加以建构,编辑,修改生成通用输出格式的曲面数字化模型。
在本申请实施例中,可以通过上述任一现有方法对目标区域进行信息采集,生成所述原始三维点云数据。
在一些实施例中,所述指定立方体区域的坐标是基于用户指定的立方体区域获取的,用户可以设置指定大小的立方体区域,以获取指定大小的立方体区域的所述原始三维点云数据,具体的,通过指定大小的立方体区域获取所述指定立方体区域的坐标,以通过所述定立方体区域的坐标从所述原始三维点云数据中获取指定立方体区域的三维点云数据。
在一些实施例中,在上述步骤S101之前,本申请实施例提供的所述基于点云数据的计算方法还包括如下步骤:
获取所述原始三维点云数据的视角方向,将所述立方体三维点云数据的视角方向调整为所述原始三维点云数据的视角方向。
具体的,获取采集所述原始三维点云数据的视角方向,再将所述立方体三维点云数据的视角方向调整为所述原始三维点云数据的视角方向,以便后续分析计算。
S102、基于所述指定立方体区域的坐标,从所述原始三维点云数据中获取初始三维点云数据。
示例性的,参照图2所示,当所述原始三维点云数据为一球体时,若要获取二分之一球体的体积时,可以将二分之一球体的的三维点云数据,通过所述指定立方体区域的坐标构建一个立方体21给截取出来,获取所述原始三维点云数据中立方体21中的三维点云数据22,即二分之一的球体的三维点云数据。
S103、基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据。
其中,所述立方体三维点云数据是基于所述指定立方体区域的坐标生成的立方体外表面三维点云数据。
在一些实施例中,所述立方体三维点云数据是用于后续将所述初始三维点云数据缺面的地方进行补全,以保证后续最终用于计算体积的三维点云数据是一个封闭的点云数据,进而提高计算体积时的精度。
S104、将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据。
在一些实施例中,将所述至少一个目标立方体三维点云数据与所述原始三维点云数据进行合并,以补全所述原始三维点云数据,保证最终用于体积计算的三维点云数据为封闭的获取所述目标三维点云数据。
在一些实施例中,在上述步骤S103之前,所述基于点云数据的计算方法还可以包括:
对所述原始三维点云数据进行体素滤波。
在一些实施例中,所述对所述原始三维点云数据进行体素滤波的实现方法可以为:通过PCL点云下采样实现数据体素化,减少点的数量,减少点云数据,并同时保持点云的形状特征,在提高配准、曲面重建、形状识别等算法速度中非常实用。体素滤波器可以达到向下采样同时不破坏点云本身几何结构的功能,但是会移动点的位置。此外体素滤波器可以去除一定程度的噪音点及离群点,使得点云数据更加精确,主要功能是用来进行降采样。
具体的,所述体素滤波的原理是根据输入的点云,首先计算一个能够刚好包裹住该点云的立方体,然后根据设定的分辨率,将该大立方体分割成不同的小立方体。对于每一个小立方体内的点,计算他们的质心,并用该质心的坐标来近似该立方体内的若干点。
S105、获取所述目标三维点云数据对应的多个微元层。
示例性的,可以获取所述目标三维点云数据在z轴方向的最值,即获取在z轴正、负半轴上最大的点和最小的点所在位置的坐标,明确所述目标三维点云数据的在z轴方向的取值范围,再根据所述目标三维点云数据的在z轴方向的范围将所述目标三维点云数据以z轴的取值范围基于直通滤波器获取若干个微元层。
示例性的,参照图3所示,为本申请实施例提供的将所述目标三维点云数据划分为多个微元层的示意图,以所述原始三维点云数据为一球体的三维点云数据为例,按照如图所示的划分方式,可以得到多个微元层。计算每一微元层的体积,将每一微元层的体积相加,即可得到整个球体的体积。
S106、获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积。
在一些实施例中,在获取了封闭的所述目标三维点云数据之后,将所述目标三维点云数据划分为多个微元层,再计算多个微元层的总体积,就可以获取所述目标三维点云数据对应的体积。
本申请实施例提供的基于点云数据的计算方法具体为:获取原始三维点云数据与指定立方体区域的坐标;所述指定立方体区域的坐标是基于空间直角坐标系获取的;所述空间直角坐标系是基于所述原始三维点云数据对应的采集场景建立的,所述空间直角坐标系中的x轴和y轴构成的xoy平面与地面平行,z轴是垂直向上的,xoy、yoz、xoz平面相互垂直;基于所述指定立方体区域的坐标,从所述原始三维点云数据中获取初始三维点云数据;所述初始三维点云数据是在所述指定立方体区域内的所述原始三维点云数据;基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据;所述立方体三维点云数据是基于所述指定立方体区域的坐标生成的立方体外表面三维点云数据;将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据;获取所述目标三维点云数据对应的多个微元层;获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积。本申请实施例利用至少一个目标立方体三维点云数据将所述初始三维点云数据补齐,以保证所述点云数据的完整,再将所述目标三维点云数据划分为若干个为微元层,计算每个微元层的体积并累加,得到所述目标物体的总体积,以提高基于点云数据计算体积时的精度。
作为对上述实施例的扩展和细化,本申请实施例提供了一种基于点云数据的计算方法,参照图4所示,该基于点云数据的计算方法包括如下步骤S401至S408:
S401、获取原始三维点云数据与指定立方体区域的坐标。
其中,所述指定立方体区域的坐标是基于空间直角坐标系获取的;所述空间直角坐标系是基于所述原始三维点云数据对应的采集场景建立的,所述空间直角坐标系中的x轴和y轴构成的xoy平面与地面平行,z轴是垂直向上的,xoy、yoz、xoz平面相互垂直。
S402、基于所述指定立方体区域的坐标,从所述原始三维点云数据中获取初始三维点云数据。
其中,所述初始三维点云数据是在所述指定立方体区域内的所述原始三维点云数据。
S403、获取所述初始三维点云数据与所述立方体三维点云数据的重叠部分,以生成第一三维点云数据。
在一些实施例中,所述初始三维点云数据与所述立方体三维点云数据的重叠部分,即就是所述初始三维点云数据与所述立方体三维点云数据的交集。目的是为了用重叠部分,即所述第一三维点云数据,将所述立方体三维点云数据进行分割,初始三维点云数据进行补全,以获取一个封闭的三维点云数据。
具体的,所述获取所述初始三维点云数据与所述立方体三维点云数据的重叠部分可以通过如下方法:
针对所述初始三维点云数据中的每一点云数据,在所述立方体点云数据中确定与所述点云数据在预设距离范围内的点云数据,以获取所述重叠部分。
示例性的,所述预设距离可以为1厘米,则针对所述初始三维点云数据的每一点,获取其周围1厘米范围之内的所述立方体点云数据的点,若在周围1厘米范围内存在所述立方体点云数据的点1,则判定点1为重叠的点,以上述方法遍历所述初始三维点云数据中的所有的点,找到全部重叠的点,以获取所述初始三维点云数据与所述立方体三维点云数据的重叠部分。
需要说明的是,所述预设距离是可以是根据所述原始三维点云数据的分辨率自适应设置的。具体的,所述点云数据的分辨率可以体现所述原始三维点云数据的密集程度,可以用两点之间间隔距离来表示。具体的计算所述原始三维点云数据的分辨率的计算方法可以包括:首先,遍历三维点云数据中的每一个点,找到与该点最近的点,并求出两点距离,累加两点距离之和,并除以点云数量(剔除无效点),所得结果则是点云空间分辨率;分辨率越大,表示点云数据的点越稀疏。
在一些实施例中,基于所述原始三维点云数据的分辨率可知所述原始三维点云数据的密集程度,以根据所述点云数据的密集程度,自适应设置对应的所述预设距离,当点云数据的分辨率较大时,即点云数据比较稀疏,此时可以将点云数据的所述预设距离调大;当点云数据的分辨率较小时,则点云数据比较密集,此时可以将所述预设距离调小,以避免在点云数据密集程度不同时,使用同样的预设距离,会产生不必要的误差,造成计算结果不准确。
S404、将所述立方体三维点云数据中的所述第一三维点云数据删除,获取待分割的立方体点云数据。
在一些实施例中,将所述立方体三维点云数据中的所述第一三维点云数据删除之后,所述立方体点云数据中就只剩下与所述初始三维点云数据未重叠的点,即所述待分割的立方体点云数据。
S405、基于目标欧式聚类分割算法对待分割的立方体点云数据进行分割,获取所述至少一个目标立方体三维点云数据。
在一些实施例中,所述目标欧式聚类分割算法是一种基于欧氏距离度量的聚类算法,通常在使用欧式聚类算法时,会结合K维树(K-dimension Tree)算法对所述待分割的立方体点云数据进行分析处理。
具体的,首先生成所述待分割的立方体点云数据的K维树表示,并预先设置一个空的表M和一个阈值半径R,再针对所述待分割的立方体点云数据中的每一个点进行最近邻点的搜索,获取与该点的最近邻的n个点,例如,获取所述待分割的立方体点云数据中点A的最近邻的n个点;再判断这n个点分别到点A的距离;将距离小于阈值半径R的点放在表M中,并针对表M中的每一个点也要进行最邻近搜索,按照上述步骤遍历所述待分割的立方体点云数据中的所有点,直到表M不再有新的点加入,最终基于表M中的点就可以确定所述至少一个目标立方体三维点云数据,为后续补全原始三维点云数据奠定基础。
上述步骤S405中基于目标欧式聚类分割算法对待分割的立方体点云数据进行分割,获取所述至少一个目标立方体三维点云数据之前,该基于点云数据的计算方法还包括如下步骤:
根据所述原始三维点云数据的分辨率,对初始欧式聚类分割算法对应的预设参数进行调整,获取所述目标欧式聚类分割算法。
在一些实施例中,基于所述原始三维点云数据的分辨率可知所述原始三维点云数据的密集程度,以根据所述点云数据的密集程度,设置对应的所述预设参数,以获取所述目标欧式聚类算法,具体的,可以根据所述分辨率设置点云数据的搜索半径,当点云数据的分辨率较大时,即点云数据比较稀疏,此时可以将点云数据的搜索半径调大,才能保证基于欧式聚类分割算法进行分析处理得到的结果有效;当点云数据的分辨率较小时,则点云数据比较密集,此时可以将点云数据的搜索半径调小,以避免针对一个点云去搜索周围的点云数据时,出现过多的点,容易出现误差。
S406、将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据。
在一些实施例中,上述步骤S406(将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据)的实现方法可以参照如下步骤一至步骤三:
步骤一、将所述初始三维点云数据投影至xoy平面,并基于边界提取算法获取与所述初始三维点云数据对应的至少一个平面边界。
在一些实施例中,将所述初始三维点云数据投影至xoy平面之后,利用所述边界提取算法获取所述初始三维点云数据的边界。示例性的,所述边界提取算法可以是经纬线扫描法、网格划分法、法线估计法等现有边界提取方法。
步骤二、将所述至少一个目标立方体三维点云数据投影至xoy平面,获取所述至少一个目标立方体三维点云数据对应的至少一个平面点云数据。
步骤三、针对所述至少一个平面点云数据中的每一平面点云数据,若所述平面点云数据中有大于预设数量的点在对应的所述平面边界内,则将所述平面点云数据对应的部分立方体三维点云数据与初始三维点云数据进行合并,获取所述目标三维点云数据。
在一些实施例中,基于上述步骤二将所述至少一个目标立方体三维点云数据投影至xoy平面之后,获取待使用平面点云数据,然后对比所述待使用平面点云数据是否在所述初始三维点云数据对应的平面边界内,可以明确的获取所述待使用平面的点云数据是不是所述目标物体的点云数据。
在一些实施例中,所述预设数量是基于当前所述待使用平面点云数据的数量而定,可以将所述待使用平面点云数据数量乘以预设值得到,所述预设值可以设置为90%或95%;本申请实施例对此不做限定。
具体的,若平面点云数据A中的95%的点都在所述初始三维点云数据对应的平面边界a内,则说明所述平面点云数据A是属于所述目标三维点云数据,将所述初始平面点云数据与平面点云数据A对应的部分立方体点云数据进行合并,获取补全后的三维点云数据,即所述目标三维点云数据。
S407、获取所述目标三维点云数据对应的多个微元层。
在上述步骤S407中,获取所述目标三维点云数据对应的多个微元层的具体方法可以参照如下步骤1至步骤3:
步骤1、获取所述目标三维点云数据在预设方向的取值范围。
在一些实施例中,可以获取所述目标三维点云数据在z轴方向上的最大的点以及最小的点,获取其最大的点以及最小的点的在z轴上的取值,即生成所述在z轴方向上的取值范围。
步骤2、按照预设间隔长度将所述取值范围划分为多个微元。
在一些实施例中,当所述取值范围为[0-10],所述预设间隔长度为1个单位时,可以按照间隔长度为1将所述取值范围[0-10]划分为10个微元。需要说明的是,所述预设间隔长度可以根据所述原始三维点云数据的分辨率进行自适应调整,具体步骤可以参照如下:
根据所述原始三维点云数据的分辨率,调整预设间隔长度。
在一些实施例中,基于所述原始三维点云数据的分辨率可知所述原始三维点云数据的密集程度,以根据所述点云数据的密集程度,设置对应的所述预设间隔长度,当点云数据的分辨率较大时,即点云数据比较稀疏,此时需要自适应将所述预设间隔长度调大,当点云数据的分辨率较小时,即点云数据比较密集,那么就需要自适应将所述预设间隔长度调小,以保证根据所述预设间隔长度划分得到的多个微元层是合理的,不至于出现较大误差,提高后续计算精度。具体的,所述预设间隔长度还可以是以1.5倍的所述原始三维点云数据的分辨率作为所述预设间隔长度,进行微元的划分。
步骤3、基于所述多个微元,从所述预设方向将所述目标三维点云数据划分为多个微元层。
结合上述步骤2的实施例,将所述取值范围[0-10]划分为10个微元之后,然后按照所述10个微元将所述目标三维点云数据划分为10个微元层。
S408、获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述原始目标三维点云数据对应的体积。
作为对上述实施例的扩展和细化,参照图5所示,上述步骤S408(获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积)的实现方法可以包括如下步骤S401-S406:
S501、针对所述多个微元层中的每一个微元层,将所述微元层中的点云数据投影至xoy平面,获取所述微元层的平面点云数据。
在一些实施例中,将所述多个微元层中的每一个微元层都分别投影至xoy平面,以获取所述多个微元层中的每一个微元层的平面点云数据。
S502、基于所述微元层的平面点云数据获取所述微元层的平面点云数据的边界点,将所述边界点中的任一点作为起始边界点,按照预设方向对所述微元层的边界点进行排序,获取顺序边界点。
示例性的,参照图6所示,由一微元层在xoy平面的投影获取的该微元层的平面点云数据,其中,点O为该微元层的质心,所述预设方向为逆时针方向,得到该微元层的平面点云数据的顺序边界点:点1、2……9;所述预设方向也可以为顺时针方向,本申请实施例对此不做限定。
S503、从所述起始边界点开始,基于所述顺序边界点依次获取由该边界点、该边界点的下一边界点与所述微元层的质心组成的多个三角形。
S504、获取所述多个三角形的面积并累加,以获取所述微元层的平面面积。
在一些实施例中,所述获取所述多个三角形的面积可以采用任一计算三角形面积的几何算法,参照上述图6所示,最外层点由点1-点9这9个点组成,按照顺序从点1开始,可以得到三角形1O2,三角形2O3……三角形9O1这9个三角形,获取9个三角形的面积并将9个三角形的面积累加,就可以获取该微元层的平面点云数据对应的面积。
S505、将所述微元层的平面面积与所述微元层的高度相乘,获取所述微元层的体积。
S506、将所述各个微元层的体积相加,获取所述目标三维点云数据对应的体积。
在一些实施例中,获取到所述目标三维点云数据多个微元层的体积之后,将各个微元层的体积相加,就能得到所述目标三维点云数据对应的所述目标物体的体积。
在本申请实施例中,由于采用的Emscripten编译器进行编译,可以将本申请实施例的一种基于点云数据的计算方法通过Emscripten编译器生成Webassembly字节码,从而可以实现在浏览器端基于八叉树点云结构以较快速度进行点云数据的查看,进而在浏览器端实现点云数据的处理分析。
基于同一发明构思,作为对上述方法的实现,本发明实施例还提供了一种基于点云数据的计算装置,该实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的数据同步设备能够对应实现前述方法实施例中的全部内容。
本申请实施例提供了一种基于点云数据的计算装置,图7为该基于点云数据的计算装置的结构示意图,如图7所示,该基于点云数据的计算装置700包括:
第一获取单元701,用于获取原始三维点云数据与指定立方体区域;
处理单元702,用于基于所述指定立方体区域的坐标,从所述原始三维点云数据中获取初始三维点云数据;所述初始三维点云数据是在所述指定立方体区域内的所述原始三维点云数据;
分割单元703,用于基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据;所述立方体三维点云数据是基于所述指定立方体区域的坐标生成的立方体外表面三维点云数据;
合并单元704,用于将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据;
第二获取单元705,获取所述目标三维点云数据对应的多个微元层;
累加单元706,用于获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积。
作为本申请实施例一种可选的实施方式,所述分割单元703,具体用于获取所述初始三维点云数据与所述立方体三维点云数据的重叠部分,以生成第一三维点云数据;将所述立方体三维点云数据中的所述第一三维点云数据删除,获取待分割的立方体点云数据;基于目标欧式聚类分割算法对待分割的立方体点云数据进行分割,获取所述至少一个目标立方体三维点云数据。
作为本申请实施例一种可选的实施方式,所述分割单元703,还用于根据所述原始三维点云数据的分辨率,对初始欧式聚类分割算法对应的预设参数进行调整,获取所述目标欧式聚类分割算法。
作为本申请实施例一种可选的实施方式,所述合并单元704,具体用于将所述初始三维点云数据投影至xoy平面,并基于边界提取算法获取与所述初始三维点云数据对应的至少一个平面边界;将所述至少一个目标立方体三维点云数据投影至xoy平面,获取所述至少一个目标立方体三维点云数据对应的至少一个平面点云数据;针对所述至少一个平面点云数据中的每一平面点云数据,若所述平面点云数据中有大于预设数量的点在所述平面边界内,则将所述平面点云数据对应的部分立方体三维点云数据与初始三维点云数据进行合并,获取所述目标三维点云数据。
作为本申请实施例一种可选的实施方式,所述第二获取单元705,具体获取所述目标三维点云数据在预设方向的取值范围;按照预设间隔长度将所述取值范围划分为多个微元;基于所述多个微元,从所述预设方向将所述目标三维点云数据划分为多个微元层。
作为本申请实施例一种可选的实施方式,所述累加单元706,具体用于针对所述多个微元层中的每一个微元层,将所述微元层中的点云数据投影至xoy平面,获取所述微元层的平面点云数据;基于所述微元层的平面点云数据获取所述微元层的平面点云数据的边界点,将所述边界点中的任一点作为起始边界点,按照预设方向对所述微元层的边界点进行排序,获取顺序边界点;从所述起始边界点开始,基于所述顺序边界点依次获取由该边界点、该边界点的下一边界点与所述微元层的质心组成的多个三角形;获取所述多个三角形的面积并累加,以获取所述微元层的平面面积;将所述微元层的平面面积与所述微元层的高度相乘,获取所述微元层的体积;将所述各个微元层的体积相加,获取所述目标三维点云数据对应的体积。
基于同一发明构思,本申请实施例还提供了一种电子设备。图8为本申请实施例提供的电子设备的结构示意图,如图8所示,本实施例提供的电子设备包括:存储器801和处理器802,所述存储器801用于存储计算机程序;所述处理器802用于在执行计算机程序时执行上述实施例提供的基于点云数据的计算方法。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当计算机程序被处理器执行时,使得所述计算设备实现上述实施例提供的基于点云数据的计算方法。
基于同一发明构思,申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现第三方面或第四方面所述的基于点云数据的计算方法。
本领域技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种基于点云数据的计算方法,其特征在于,包括:
获取原始三维点云数据与指定立方体区域的坐标;所述指定立方体区域的坐标是基于空间直角坐标系获取的;所述空间直角坐标系是基于所述原始三维点云数据对应的采集场景建立的,所述空间直角坐标系中的x轴和y轴构成的xoy平面与地面平行,z轴是垂直向上的,xoy、yoz、xoz平面相互垂直;
基于所述指定立方体区域的坐标,从所述原始三维点云数据中获取初始三维点云数据;所述初始三维点云数据是在所述指定立方体区域内的所述原始三维点云数据;
基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据;所述立方体三维点云数据是基于所述指定立方体区域的坐标生成的立方体外表面三维点云数据;
将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据;
获取所述目标三维点云数据对应的多个微元层;
获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积。
2.根据权利要求1所述的方法,其特征在于,所述基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据,包括:
获取所述初始三维点云数据与所述立方体三维点云数据的重叠部分,以生成第一三维点云数据;
将所述立方体三维点云数据中的所述第一三维点云数据删除,获取待分割的立方体点云数据;
基于目标欧式聚类分割算法对待分割的立方体点云数据进行分割,获取所述至少一个目标立方体三维点云数据。
3.根据权利要求2所述的方法,在基于目标欧式聚类分割算法对待分割的立方体点云数据进行分割,获取所述至少一个目标立方体三维点云数据之前,所述方法还包括:
根据所述原始三维点云数据的分辨率,对初始欧式聚类分割算法对应的预设参数进行调整,得到所述目标欧式聚类分割算法。
4.根据权利要求1所述的方法,其特征在于,所述将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据,包括:
将所述初始三维点云数据投影至xoy平面,并基于边界提取算法获取与所述初始三维点云数据对应的至少一个平面边界;
将所述至少一个目标立方体三维点云数据投影至xoy平面,获取所述至少一个目标立方体三维点云数据对应的至少一个平面点云数据;
针对所述至少一个平面点云数据中的每一平面点云数据,若所述平面点云数据中有大于预设数量的点在所述平面边界内,则将所述平面点云数据对应的部分立方体三维点云数据与初始三维点云数据进行合并,获取所述目标三维点云数据。
5.根据权利要求1所述的方法,其特征在于,所述获取所述目标三维点云数据对应的多个微元层,包括:
获取所述目标三维点云数据在预设方向的取值范围;
按照预设间隔长度将所述取值范围划分为多个微元;
基于所述多个微元,从所述预设方向将所述目标三维点云数据划分为多个微元层。
6.根据权利要求1所述的方法,其特征在于,所述获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积,包括:
针对所述多个微元层中的每一个微元层,将所述微元层中的点云数据投影至xoy平面,获取所述微元层的平面点云数据;
基于所述微元层的平面点云数据获取所述微元层的平面点云数据的边界点,将所述边界点中的任一点作为起始边界点,按照预设方向对所述微元层的边界点进行排序,获取顺序边界点;
从所述起始边界点开始,基于所述顺序边界点依次获取由该边界点、该边界点的下一边界点与所述微元层的质心组成的多个三角形;
获取所述多个三角形的面积并累加,以获取所述微元层的平面面积;
将所述微元层的平面面积与所述微元层的高度相乘,获取所述微元层的体积;
将所述各个微元层的体积相加,获取所述目标三维点云数据对应的体积。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述原始三维点云数据的分辨率,调整预设间隔长度。
8.一种基于点云数据的计算装置,其特征在于,包括:
第一获取单元,用于获取原始三维点云数据与指定立方体区域;
处理单元,用于基于所述指定立方体区域的坐标,从所述原始三维点云数据中获取初始三维点云数据;所述初始三维点云数据是在所述指定立方体区域内的所述原始三维点云数据;
分割单元,用于基于所述初始三维点云数据对立方体三维点云数据进行分割,获取至少一个目标立方体三维点云数据;所述立方体三维点云数据是基于所述指定立方体区域的坐标生成的立方体外表面三维点云数据;
合并单元,用于将所述至少一个目标立方体三维点云数据与所述初始三维点云数据进行合并,获取目标三维点云数据;
第二获取单元,获取所述目标三维点云数据对应的多个微元层;
累加单元,用于获取所述多个微元层的体积,并将所述各个微元层的体积相加以获取所述目标三维点云数据对应的体积。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在执行计算机程序时,使得所述电子设备实现权利要求1-7任一项所述的基于点云数据的计算方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现权利要求1-7任一项所述的基于点云数据的计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310934850.8A CN117109430A (zh) | 2023-07-27 | 2023-07-27 | 一种基于点云数据的计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310934850.8A CN117109430A (zh) | 2023-07-27 | 2023-07-27 | 一种基于点云数据的计算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117109430A true CN117109430A (zh) | 2023-11-24 |
Family
ID=88806484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310934850.8A Pending CN117109430A (zh) | 2023-07-27 | 2023-07-27 | 一种基于点云数据的计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117109430A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117994486A (zh) * | 2024-04-03 | 2024-05-07 | 广东一幕智能科技有限公司 | 移动房屋室内环境控制方法以及系统 |
-
2023
- 2023-07-27 CN CN202310934850.8A patent/CN117109430A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117994486A (zh) * | 2024-04-03 | 2024-05-07 | 广东一幕智能科技有限公司 | 移动房屋室内环境控制方法以及系统 |
CN117994486B (zh) * | 2024-04-03 | 2024-06-04 | 广东一幕智能科技有限公司 | 移动房屋室内环境控制方法以及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11300964B2 (en) | Method and system for updating occupancy map for a robotic system | |
US9996966B2 (en) | Ray tracing method and apparatus | |
KR20220066325A (ko) | 이동 로봇용 장애물 정보 감지 방법, 장치 | |
CN111210429A (zh) | 点云数据划分方法及装置、障碍物检测方法及装置 | |
CN111275633A (zh) | 基于图像分割的点云去噪方法、系统、装置和存储介质 | |
WO2021142995A1 (zh) | 基于图像处理的k近邻点云滤波方法、装置和存储介质 | |
CN117109430A (zh) | 一种基于点云数据的计算方法及装置 | |
CN111553946B (zh) | 用于去除地面点云的方法及装置、障碍物检测方法及装置 | |
KR102219289B1 (ko) | 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법 | |
WO2020181524A1 (zh) | 图像深度的计算方法、图像处理装置及三维测量系统 | |
CN115164868A (zh) | 机器人定位方法、装置、机器人及存储介质 | |
CN111696152A (zh) | 检测包裹堆垛的方法、装置、计算设备、系统及存储介质 | |
Goshin et al. | Parallel implementation of the multi-view image segmentation algorithm using the Hough transform | |
CN113849498B (zh) | 一种索引构建及查询方法 | |
CN114159777A (zh) | 层次化寻路方法、装置、电子设备及可读介质 | |
CN115127542A (zh) | 激光建图方法、装置及电子设备、计算机可读存储介质 | |
Lu et al. | Fast phase unwrapping algorithm based on region partition for structured light vision measurement | |
CN113744323A (zh) | 点云数据处理方法和装置 | |
CN113253675A (zh) | 一种面向二维的三轴刀位点运算方法及系统 | |
KR20180046909A (ko) | 3차원 데이터 처리 방법 | |
CN115293980B (zh) | 一种基于历史信息的小尺寸动态噪点滤除方法、装置 | |
CN116612249B (zh) | 一种线段与dem相交点的分析方法、设备及介质 | |
CN118053153B (zh) | 一种点云数据的识别方法、装置、存储介质及电子设备 | |
CN117011147B (zh) | 一种红外遥感影像特征检测及拼接方法及装置 | |
CN116643276B (zh) | 一种合成孔径雷达三维成像方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |