如何利用ContextCapture SDK实现Python自动化三维建模?
摘要:基于 ContextCapture SDK 的 Python 自动化三维建模 ContextCapture 是 Bentley 提供的一款商业级三维重建软件,广泛应用于无人机倾斜摄影、实景三维建模等场景。 本文基于 ContextCaptu
基于 ContextCapture SDK 的 Python 自动化三维建模
ContextCapture 是 Bentley 提供的一款商业级三维重建软件,广泛应用于无人机倾斜摄影、实景三维建模等场景。
本文基于 ContextCapture 官方提供的 MasterKernel SDK,介绍如何通过 Python 脚本实现对 ContextCapture 建模流程的自动化控制,包括项目创建、空中三角测量(AT)、三维重建以及多种格式成果的顺序生产。
ContextCapture MasterKernel SDK介绍:https://docs.bentley.com/LiveContent/web/ContextCapture Help-v18/zh-cn/GUID-8A35B878-C2BB-4F01-8D5A-18321EF04410.html
1.安装ContextCapture
基于ContextCapture的安装网上有很多详细的教程,本文不再对安装步骤进行详细展开。
本文测试环境使用的ContextCapture版本为 v10.18.0.232,后续示例均基于该版本,仅供参考。
2.配置适合ContextCapture的Python环境
在 ContextCapture 安装目录的 sdk/dist 文件夹中,可以找到官方提供的 Python SDK 安装包(.whl 文件)。
例如:
ccmasterkernel-10.18.0.232-cp36-cp36m-win_amd64.whl
其中“cp36-cp36m”表示只支持 Python3.6 相关版本(要安装正确的Python版本)。
安装完成Python环境后,打开命令行进入sdk/dist文件夹下,执行pip install ccmasterkernel-10.18.0.232-cp36-cp36m-win_amd64.whl安装好这个包。
3.编写Python脚本
关于sdk使用的相关文档说明在sdk/doc/html文件夹下。
下面给出一个完整的 Python 脚本示例,用于演示如何通过 ContextCapture SDK 实现无人机影像的自动化三维建模流程。
该脚本后续可根据实际需求进行裁剪或扩展。
此脚本是一个用于自动化 ContextCapture (CC) 建模流程的 Python 脚本。它能够自动创建项目、提交空三运算 (AT),并按顺序生成多种格式的三维模型(OBJ, LAS, 3D Tiles)。
注意: 正式运行脚本前,需确保ContextCapture Engine 已启动,否则任务无法正常提交;
3.1命令行参数
脚本支持通过命令行参数进行灵活配置:
参数
必选/可选
默认值
说明
--photos
必选
-
照片所在的源文件夹路径。支持 jpg, tif, png 等格式。
--project
必选
-
项目输出的根文件夹路径。脚本将在此目录下创建 .ccm 项目文件和各个产物文件夹。
--memory
可选
16.0
目标内存使用量 (GB)。用于控制分块大小,建议设置为机器物理内存的 50%-70%。
--formats
可选
全部
指定要生产的格式列表。可选值: OBJ, LAS, 3DTiles。多个值之间用空格分隔。
3.2 使用示例
在命令行 (CMD 或 PowerShell) 中运行以下命令。
1) 基础用法
生成所有默认格式 (OBJ, LAS, 3D Tiles),默认使用 16GB 内存限制。
