把重建结果从 COLMAP 里带出来
COLMAP 模型是三个只有懂 COLMAP 的软件才能读的二进制文件。而一个 GLB 可以在 Blender、Windows 3D 查看器、macOS 快速查看、Unity、Unreal、three.js、Babylon 以及网上任何 glTF 页面中打开。导出 GLB,就是把重建结果展示给没装 COLMAP 的人的方式,也可以把它和用它构建出来的模型摆在一起。
文件里包含什么
稀疏点云作为 glTF POINTS 图元,带位置和颜色。COLMAP 的 RGB 是 sRGB,而 glTF 的 COLOR_0 是线性的,因此导出时会做转换。
相机视锥作为 LINES 图元:从光心出发的四条角射线、连接它们的矩形,以及顶边上表示滚转角的小缺口。角射线方向来自真实内参,所以广角镜头会画出更宽的视锥。
真实的 glTF 相机——每张图像一个透视相机节点,yfov 取自 COLMAP 内参,宽高比正确,并以其源照片命名。Blender 会把它们导入为可以透视观察的真实相机,大纲视图读起来是你的文件名列表,而不是一串 Object.001。
把转换说清楚
COLMAP 是 RDF:x 向右、y 向下、z 向前。glTF 是 RUB:x 向右、y 向上、z 向后。导出时每个位置和方向都会转换。正是漏掉这一点,才让那么多自制的 COLMAP 导出在 Blender 里上下颠倒。
另一半:COLMAP 保存的是世界到相机的位姿,所以相机在世界中的位置是 −Rᵀt,而不是 t。
一点需要知道的注意事项
点图元是合法的 glTF,但并非到处都能渲染——Windows 3D 查看器等就什么也不显示,而 Blender、three.js 和 Babylon 没问题。如果你需要在任何地方都能看到的东西,请打开实体标记。
一切都在浏览器中完成,重建数据不会被上传。
Tiny Online Tools







