2019年 - 使用c ++进行点云量估算

问题描述 投票:0回答:2

我有一个点云(顶点x,y,z的数组),我们可以使用--with three.js / webgl来显示点云。

我们会使用这个设备: https://www.sparkfun.com/products/14032 https://www.youtube.com/watch?v=gCpCGkwwy8I

所以除了点云量估算之外我们还能做什么。

你有任何指示如何做到这一点,希望,举例? (我将从点云开始并进入音量估算)

我不擅长数学,所以请,我可以使用API​​-s,但不能使用原始/复杂的数学计算。

c++ 3d point-clouds
2个回答
1
投票

我的简单方法假设线性插值。

想象一下地球仪,传感器位于地球核心的中心。然后,点云中的每个点都对应于表面上的高度。当我们将3个最近的点连接在一起时,它们然后形成一个三角形的土地图。将3个角投射回传感器,我们将得到一个非常高的三角形金字塔,即四面体。

然后我们可以使用四面体体积(1/3基础*高度)的公式来获得该体积。总结所有的四面体,我们应该得到点云的体积。

也许棘手的部分是获取表面上的三角形列表。我们可以利用计算机图形学中的技术将点云转换为三角形网格,正如其他SO问题here所回答的那样。


1
投票

为了计算点云的体积,您需要点云的3D网格表示。

既然你在问题的标签上添加了c++,你考虑过使用PCL吗?

PCL提供像here这样的表面重建算法。

拥有点云的3D网格后,您可以像这样计算网格的体积:How to calculate the volume of a 3D mesh object the surface of which is made up triangles

希望这对你有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.