Potree点云手册

兄弟们整理和收集资料不容易,请关注手册!!

        Potree 以其高显示速度而脱颖而出,使其成为处理大量点云数据集的绝佳选择。

我们的重点将是 Potree 提供的多样化导航和显示选项。

        如果你遇到任何问题,请随时尝试其他浏览器或探索 Potree 桌面版本,根据我的经验,我发现它可以提供令人满意的结果。

1、介绍

如果你还没有点云并希望获取点云,我建议使用 Geotiles 获取来自荷兰的数据,使用 LiDAR HD 获取来自法国的数据,或者使用 3DE 程序获取来自美国的数据。 这些来源提供了可用于你的项目的有价值的点云数据。 但是,如果你已经拥有自己的数据,那就更好了,因为它允许你使用根据你的需求定制的熟悉的数据集。 你还可以仅在浏览器中操作一些 Potree 示例(Entwine 和 Potree)。

在本演示中,我在法国蒙彼利埃下载了 4 个 LiDAR HD 图块,然后将它们导入到 Potree Desktop 中。

法国蒙彼利埃市上空的 4 块 LiDAR HD @LiDAR HD

访问 Potree 界面后,你会注意到在生成 Potree 文件期间指定的默认设置。 这些文件由数据文件、HTML 和脚本组成,由 Web 服务器或 Web 浏览器解释。 要访问 Potree 工具,只需单击通常位于屏幕左上角的按钮,打开包含各种选项的菜单来探索和分析点云数据。

Potree 的部分(外观、工具、场景、滤镜)提供以下功能:

  • 定义点云的视觉方面。
  • 优化显示性能(标准、高质量)。
  • 选择导航模式来探索数据。
  • 执行测量(距离、轮廓、切片等)。
  • 创建动画。

Potree 的菜单有不同的部分

在详细了解 Potree 菜单中的每个窗口之前,了解该窗口中的每个项目都是完全可自定义的非常重要。

Potree 菜单的顶行提供对基本链接的快速访问,包括 Potree 网站、GitHub 存储库和版本号(当前为 1.8.0)。 此外,它还提供在 EN-FR-DE-JP-ES-SE-ZH-IT 之间切换的语言选项。

单击某个部分可展开其内容,从而允许您访问所需的功能。 “外观”和“场景”部分控制点云的视觉方面。 虽然“外观”部分中的属性全局适用,但“场景”属性单独特定于每个场景(点云)。

在“场景”部分中,用户可以打开/关闭各个点云场景,从而实现特定数据集的无缝导航和分析。

在下面的示例中,我们同时加载多个点云,但是,允许我们单独为每个云着色:

使用不同样式渲染的 4 个独立点云(强度、分类和高程)

2、外观

在 Potree 查看器的“外观”部分,你可以个性化点云(全部)的视觉表示。 本节包含一系列选项。

它包括调整选项:

  • 点预算:此参数允许用户设置考虑显示的点数,影响屏幕上的点密度。 虽然它不是影响点密度的唯一因素,但调整点预算有助于优化细节级别以实现高效可视化。 最大值设置为 1000 万,但可以在代码中调整。
  • 视野:它决定了从观看者的角度可见的场景范围。 最佳 FoV 设置为 60。
  • Eye Dome 照明:通过启用 Eye Dome 照明,你可以受益于增强的着色计算方法,该方法可以锐化边缘,提高深度感。 可以通过调整“半径”和“强度”之间的权衡来管理由眼罩照明引起的变暗效果。 该工具在处理未着色的点云时非常有用,如下一个示例所示:

没有 EDL 的相同点云(左)和有 EDL 的点云(右),半径和强度参数影响边缘阴影@ULB 的程度

  • 背景:设置背景样式(天空盒、渐变、黑色、白色或无)。 你甚至可以使用个人图像来个性化背景。
  • Splat 质量:标准质量和高质量之间的设定点方面。 顾名思义,高质量选项在视觉上更加真实:

  • 最小节点大小:此设置定义八叉树节点的大小。 Potree 采用基于八叉树数据结构的创新点存储技术。 这种结构将空间细分为不同大小的立方体,每个立方体都有特定的细节级别。 当你在点云中导航时,Potree 会根据相机和目标位置动态加载和显示立方体,甚至可以优化大量点云的性能(你可能已经注意到)。 通过调整此参数,你可以控制这些立方体的大小和显示的细节级别。 较小的节点大小可提供更高的细节,从而提供更复杂的数据视图。 另一方面,如果遇到性能问题,增加“最小节点大小”值可以通过显示更少的立方体来提高渲染速度,特别是对于密集的点云。 但是,请注意不要将其与“积分预算”混淆,即使它也会影响积分数量。

最小节点大小 = 1000(较低细节 = 大节点)

最小节点大小 = 20(更高细节 == 小节点)

  • Box:选中时,显示八叉树的立方体结构。 此功能直观地说明了点云如何组织成不同大小的分层立方体。 通过启用“框”显示,你可以深入了解八叉树的划分和层次结构,从而增强对数据组织的理解。

八叉树的立方体结构@Potree

  • 锁定:冻结节点大小视图。 启用“锁定”选项后,无论缩放或导航,节点大小都保持不变。 此功能可确保点云的详细程度在整个探索过程中保持一致,从而提供稳定且受控的可视化体验。

用户视角

在此示例中,我放大了该窗口,然后检查了锁定,并且还以详细程度显示了点云,以便您可以了解 potree 的工作原理。 用户的视野得到了很好的显示(细节水平较高),但相机看不到的其余部分的细节水平较低。

渲染后的点云是什么样的

3、工具

在“工具”部分下,Potree 提供了多种功能来支持数据探索和分析。 “测量”部分提供了直接在点云内精确测量距离、角度、面积和体积的基本工具。 此外,剖面工具允许提取和可视化高程剖面,有助于全面了解数据中的地形和结构。

在“裁剪”部分,你可以使用裁剪工具剪切点云,有效地隔离和聚焦特定的感兴趣区域。 此功能增强了对点云内详细部分的检查,提高了数据解释和探索效率。

“导航”部分提供了多种导航模式和视图切换(左、右、前、后、上、下),因此你可以轻松地从多个角度导航和检查数据。 此外,此部分允许你在透视和正交相机投影之间切换。

在下图中,我们使用了从 Sketchfab(此处)以 LAS 格式下载的点云。 你还可以在查看器 potree(此处)中使用 OpenHeritage3D 提供的版本。

点、距离和角度测量

测量长度:

垂直高度测量

面积和圆测量:

面积和圆测量

体积测量:

体积测量

标注添加:

进行测量后,可以在 Potree 的“场景 >> 测量”部分找到它们。 从那里,可以根据需要灵活地管理测量。 可以使用底部的红色 X 图标删除特定测量值,或以 JSON、DXF 或 Potree 格式全局导出它们。

在下图中,“轮廓”工具非常方便,不仅提供即时高程轮廓可视化,还提供将点导出为 CSV (2D) 或 DXF (2D) 文件或 DXF 或 LAS 中的点云的选项 格式。 这有利于与 CAD/BIM 软件的无缝数据交换,增强跨不同平台的互操作性。

请注意,还可以指定在轮廓内捕获点所考虑的宽度,以便进行集中和精确的分析。 可以轻松启用或禁用先前测量的显示,以实现整洁的可视化(只需取消选中复选框即可)。

轮廓提取(法国蒙彼利埃激光雷达高清点云)

  • 裁剪:允许你精确控制显示点云的哪些部分,或者仅突出显示,如下例所示。

Potree 中的裁剪允许用户专注于点云数据中感兴趣的特定区域。 通过定义剪辑体积,可以通过显示体积内的点(剪辑内部)或排除其外部的点(剪辑外部)来关注特定的感兴趣区域。

剪裁结果,外部(左)和内部(右)(LiDAR HD 点云,法国蒙彼利埃)

  • 导航:Potree提供多种导航模式,为您提供对3D点云可视化的灵活直观的控制。
    Aucun 替代文字图像

地球控制:将鼠标悬停在点云上并左键单击以移动,或右键单击以旋转模型。 初始单击点处会出现一个彩色圆圈,代表旋转中心。 缩放是使用鼠标滚轮实现的。

飞行控制:左键单击控制飞行方向,使用键盘方向键向前或向后移动。 右键单击与移动相结合可以平移视图。 在此模式下,鼠标滚轮用于加速或减速移动。

直升机控制:与飞行控制比较相似。

轨道:左键单击,围绕当前中心进行 3D 旋转(可以通过双击点云的一个点来调整中心,单击右键 = 平移

全范围:缩放扩展到点云范围; 6. Cube:显示视图立方体; 7. 指南针:用于定向; 8. 创建相机动画。

测量模型时,正交投影通常很有用。 透视模式 (10) 用于可视化和呈现点云和网格。

速度:您可以根据需要加速/减速。

4、场景

场景部分包含不同的对象。

  • 点云:场景可以由一个或多个点云组成。
  • 标注:这里进行标注管理。
  • 其他:在这里可以找到摄像机和目标位置。
  • 矢量:此功能允许在场景中包含和管理矢量数据。
  • 图像:可以将图像(定向和地理参考或非定向)合并到场景中。

如果类别中有多个对象,则会出现一个三角形指示符,使你可以轻松展开和滚动列表。 当选择一个对象时,其属性变得可见,提供每种对象类型特有的特定详细信息。

4.1 点云

在 Potree 中,点云属性在定义其视觉方面起着至关重要的作用。 您可以控制多种显示设置,包括点大小、点大小选项(固定、衰减或自适应)、形状(方形、圆形、抛物面)和不透明度。 这些设置允许微调点云的外观以满足特定的可视化需求。

点云的“属性”小节允许你选择着色样式:

  • RGB:真彩色,如果点云是彩色的。
  • RGB 和高程:按高程在 RGB 和色带之间混合。
  • 颜色:仅一种颜色 RGB(例如红色、黄色、白色...)
  • 海拔:按海拔的颜色渐变。 您可以使用不同的坡道样式。
  • 强度:按强度(灰度)划分的颜色渐变,仅在 LiDAR 点云中可用,无摄影测量。
  • 强度梯度:强度色带
  • 分类:是否对点云进行分类。
  • Return number:信号返回次数(通常只有LIDAR数据)
  • 详细程度:详细程度
  • 复合:您可以混合以上所有内容。
  • GPS时间、指数...等

Potree 的最新版本支持根据 ASPRS 规范存储在 LAS 文件中的所有属性。 如果您的点云包含附加属性,它甚至允许您添加附加属性。 我们举一个例子,如果您的点云包含树标识符,那么您将用不同的颜色显示树。 其他属性(例如细节级别)不会在转换时出现,而是根据相机的视野即时计算。

使用锁定以细节级别渲染点云以查看 FoV 的外部部分。

你可能已经注意到,我们只操纵点云。 但是,其他类型的数据(例如定向图像、矢量数据和网格)可以添加到 Potree 查看器中。 由于这需要自定义查看器,因此必须将这些数据添加到 HTML 页面。 这就是我们将在接下来的几篇文章中讨论的内容。

如果对恁有帮助,请点赞打赏支持,多谢!

技术合作交流qq:2945853209

网站分享:产品列表icon-default.png?t=N7T8https://threelab.cn/#/

### 关于PCL.js库的使用和文档 Point Cloud Library (PCL) 是一个强大的开源项目,专注于处理三维点云数据。然而,在提到 **PCL.js** 时需要注意的是,官方并没有提供名为 `PCL.js` 的独立库[^1]。通常情况下,JavaScript 中用于处理点云的技术栈可能依赖其他工具或框架来实现类似的三维可视化功能。 如果目标是在 Web 平台上操作点云数据并希望利用 JavaScript 实现类似的功能,则可以考虑以下替代方案: #### 替代技术 1. **Three.js**: 这是一个流行的 WebGL 库,能够轻松创建复杂的三维场景,并支持加载和渲染点云数据。 ```javascript const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); // 创建点云几何体 const geometry = new THREE.BufferGeometry().setFromPoints([ new THREE.Vector3(-1, -1, -1), new THREE.Vector3(1, 1, 1) ]); const material = new THREE.PointsMaterial({ size: 0.1 }); const points = new THREE.Points(geometry, material); scene.add(points); function animate() { requestAnimationFrame(animate); renderer.render(scene, camera); } animate(); ``` 2. **Potree**: Potree 是专门为大规模点云设计的一个基于 Three.js 的框架,适合在线展示大尺寸点云模型[^3]。 3. **WebAssembly 和 PCL 结合**: 如果确实需要在浏览器端运行部分 PCL 功能,可以通过 Emscripten 将 C++ 编写的 PCL 转换为 WebAssembly 使用[^2]。不过这种方式较为复杂,涉及交叉编译以及性能调优等问题。 #### 文档资源推荐 对于上述提及的技术栈,可查阅如下资料获取更多信息: - 官方 Three.js 教程页面 https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene. - Potree 用户手册 http://www.potree.org/docs/.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值