徕卡三维激光扫描产品中文培训与文档中心

引导式工作流 | 用相机参数为网格贴图、调整纹理并导出

Guided Workflow | Texture a mesh with camera parameters, adjust textures and export

中文 原文更新:— 查看英文原文 ↗

在本练习中,你将:

  • 提取现有纹理。
  • 显示它们的位置。
  • 编辑图像集并提取图像。
  • 重新估计它们的位姿以进行修正,和/或检查它们的外部参数(每张影像各不相同)与内部参数(每台相机各不相同),以实现非常精确的纹理映射。
  • 重新应用纹理。
  • 调整纹理。
  • 导出带纹理的网格,或重新保存文档(会创建一个包含这些影像的新文件夹)。

打开文件并启动命令

说明

打开文件 TextureParam&CameraPath.3dr(下载)。

选中网格 "CliffTextured",转到 Extract Texture。

这些影像将作为一个图像集出现在对象浏览器中(Images Group 文件夹)。

显示每张影像的位置

按 Shift + S,或单击图形场景中的扫描位置图标,即可通过一个红色球体显示各影像的位置。

你可以双击红色球体跳到该相机视点,并显示对应的影像(默认启用全景相机模式)。切换相机模式即可在图形场景中隐藏该影像。

编辑图像集并分离影像

在树视图中双击 Set of images(或右键单击并在上下文菜单中选择 Edit),即可显示图像集的内容。

用 Ctrl + A 全选,将光标移到影像列表上并选择其中一个箭头,即可把选中的影像与位置移出列表。

如果要提取所有影像与位置,单击 OK。

image2016-8-23 11_56_37.png

待贴图的网格与相机参数

检查外部与内部参数

在树视图中选中一张影像(Images Group),例如 1029,然后启动 Edit Image。外部与内部参数已经填好,因为这张影像来自一个已有的带纹理网格。

在多数情况下,你需要自行定义这些参数。

外部参数可以通过 Estimate Pose 计算。

内部参数可以通过 Calibrate Camera 计算。

Edit Image 对话框的作用就是手动编辑这些数据。之后你可以保存或载入这些参数(excam、incam 文本文件或 xml)。内部参数包括:

  • 传感器尺寸与像元尺寸
  • 焦距

General 选项卡

  • 镜头失调
  • 自准直主点 - PPA(相对 PPS 的偏移)
  • 对称主点 - PPS(相对 CCD 中心的偏移)

Distortion 选项卡

  • 径向畸变(k0 到 k6)
  • 切向畸变(p1 到 p2)

aae46d8a-fefa-45f6-acc3-fcd05a5a2d2b.png

相机内部参数

外部参数包括:

  • 相机位置
  • 相机旋转
说明

了解更多:Edit Image

应用纹理

所有纹理的参数(内部与外部)都输入完成后,只显示网格 MeshToTexture,选中它和三张影像,然后转到 Standard Texture。贴图对象选择 Fully visible triangles(完全可见三角形),影像选择方式选 Best Projection。

如果仔细观察结果,你会发现某些三角形没有被贴图,因为它们从任何与相机位置对应的视角都不可见:

  • 有些部分是一大片表面,可以视为"正常"区域,尤其是图 1029 的左侧部分。
  • 有些部分是极小的表面(1 或 2 个三角形),位于岩石很深的孔洞中。

你可以尝试其他选项(At least one visible vertex 与 Invisible parts)来给空白区域贴图。再次单击 Preview 查看差异。

e18c2485-984c-4e5b-92a5-aa469266a1c8.png

以透视视角贴图后的崖壁

调整纹理

默认情况下,当一个三角形可由多张影像贴图时,系统会依据两个参数做出选择:

  • 相机位置与三角形之间的距离。
  • 相机朝向与三角形法线之间的夹角。

不过在有些情况下,你可能想手动选择要应用的纹理。为此,只显示带纹理的网格,选中它,然后转到 Adjust Texture。

借助该对话框,你可以为各纹理指定唯一的颜色,或把它们分别显示出来,以便更直观地看到每张纹理映射在网格上的位置。你还有在三维场景中显示影像的工具。

在中央工具栏中,有选择工具、作用于选择集的过滤器,以及对下一次选择执行的操作。例如,选中纹理 1032(在本例中显示为红色):

  • 显示 Colors,以便更好地了解当前各纹理的应用位置,
  • 用 Select through 选择从用户视角被遮挡的三角形,
  • 选择 No Filter 以选择从相机视角被遮挡的三角形,
  • 选择 Update 纹理以替换之前应用的纹理,
  • 按下图绘制一个矩形

01c19dad-abe9-4f33-9aac-ec8a52fa5636.png

Adjust Textures 对话框

850314ad-5681-4f2f-8810-8e52b47f9cc9.png

Adjust Textures 的结果

所选区域将使用影像 1032 贴图。

然后选择 Remove Current Texture 选项,"擦除"右侧的一些三角形。它们会变为白色,表示不会被贴图。单击 OK 确认。

导出带纹理的网格

纹理已应用并调整完毕,现在可以导出网格了。你可以选中它,然后转到 Export。OBJ、GLB 与 FBX 格式支持导出带纹理的网格。注意有些软件无法处理坐标值很大的文件,因此你可能需要把网格平移到靠近原点处,以去掉这些大坐标。

保存新的 Cyclone 3DR 文件时,会在其旁边创建一个文件夹,其中包含这些影像。