快速开始
本指南将帮助您快速上手 MipMapEngine SDK。我们提供了完整的示例脚本,让您可以在几分钟内运行第一个三维重建任务。
📋 前置准备
在开始之前,请确保您已经:
- ✅ 安装了 SDK(参见安装指南)
- ✅ 激活了许可证
🚀 快速体验:使用SDK示例脚本
SDK 在 example 目录中提供了完整的示例和一键运行脚本:
example/
├── 1_reconstruct_full_basic.json # 基础重建示例
├── 2_group_cameras.json # 多相机组示例
├── 3_custom_image_pos.json # 自定义位置示例
├── sample-images/ # 示例图像
├── 步骤1_硬件检查_中文.bat
├── 步骤2_许可证管理器_中文.bat
├── 步骤3_运行示例1_基础无人机重建_中文.bat
├── 步骤4_运行示例2_多相机组_中文.bat
└── 步骤5_自定义图像位置_中文.bat
运行您的第一个重建
步骤3_运行示例1_基础无人机重建_中文.bat
脚本会自动:
- 使用
sample-images中的示例图像 - 创建输出目录
- 启动三维重建过程
- 生成多种格式的成果
🎯 示例详解
示例1:基础无人机重建
这是最简单的使用方式,适合标准的无人机航拍图像。
特点:
- ✅ 最少配置,开箱即用,适用于大多数应用
- ✅ 无缝适配 DJI 航测主流无人机
配置文件 (1_reconstruct_full_basic.json):
{
"working_dir": "./output/reconstruct_full_basic",
"gdal_folder": "../gdal_data",
"input_image_type": 1,
"resolution_level": 3,
"coordinate_system": {
"type": 2,
"label": "WGS 84",
"epsg_code": 4326
},
"image_meta_data": [
{
"id": 1,
"path": "../sample-images/DJI_20250507103417_0124_V.JPG"
},
{
"id": 2,
"path": "../sample-images/DJI_20250507103421_0125_V.JPG"
}
// ... 更多图像
],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_las": true,
"generate_obj": true,
"generate_geotiff": true
}
手动运行:
reconstruct_full_engine.exe -reconstruct_type 0 -task_json 1_reconstruct_full_basic.json
示例2:多相机组重建
适用于多目倾斜相机或多机协同作业。
步骤4_运行示例2_多相机组_中文.bat
应用场景:
- 🔸 五目倾斜相机系统
- 🔸 多架无人机协同作业
- 🔸 不同焦距相机组合
- 🔸 地面+空中联合采集
关键配置:
{
"image_meta_data": [
{
"id": 1,
"path": "image1.jpg",
"group": "camera_1" // 相机分组
},
{
"id": 2,
"path": "image2.jpg",
"group": "camera_2" // 不同相机组
}
]
}
示例3:自定义图像位置
适用于高精度定位或无GPS场景。
步骤5_自定义图像位置_中文.bat
应用场景:
- 📍 PPK/RTK 高精度定位数据
- 📍 室内或GPS信号差的环境
- 📍 需要自定义位置精度权重
关键配置:
{
"image_meta_data": [
{
"id": 1,
"path": "image.jpg",
"meta_data": {
"width": 4000,
"height": 3000,
"pos": [114.123456, 22.123456, 100.5], // [经度, 纬度, 高程]
"pos_sigma": [0.03, 0.03, 0.06] // [X精度, Y精度, Z精度] 米
}
}
]
}
精度参考:
| 定位方式 | X/Y 精度 (m) | Z 精度 (m) | 适用场景 |
|---|---|---|---|
| RTK/PPK 固定解 | 0.02-0.05 | 0.05-0.10 | 高精度测绘 |
| 普通 GPS | 2-5 | 3-8 | 一般应用 |
📊 查看输出结果
重建完成后,在输出目录中会生成:
- 📁
3D/- 三维模型model-b3dm/- 3D Tiles (Cesium)model-osgb/- OSGB 格式model-obj/- OBJ 格式point-las/- LAS 点云
- 📁
2D/- 二维产品dom_tiles/- 正射影像瓦片dsm_tiles/- 数字表面模型瓦片geotiffs/- GeoTIFF 格式
- 📁
AT/- 空三结果 - 📁
report/- 质量报告 - 📁
logs/log.txt- 处理日志
🛠️ 交互式配置生成器
如果您不想手动编写 JSON 配置文件,可以使用我们的交互式工具快速生成:
🔧 交互式配置生成器
使用下面的表单生成您的配置文件:
基本设置
处理参数
坐标系设置
输出格式
3D 模型
点云
2D 正射
其他格式
高级选项
3D Tiles 选项
2D 瓦片选项
地面控制点 (GCP)
输出坐标系(可选)
生成的配置文件
将下面的 JSON 保存为 task.json:
task.json
{
"license_id": 9200,
"working_dir": "C:/Projects/MyProject",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"coordinate_system": {
"type": 2,
"type_name": "Geographic",
"label": "WGS 84",
"epsg_code": 4326
},
"generate_obj": false,
"generate_ply": false,
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_fbx": false,
"generate_las": false,
"generate_pc_ply": false,
"generate_pc_osgb": false,
"generate_pc_pnts": false,
"generate_gs_ply": false,
"generate_gs_splats": false,
"generate_geotiff": true,
"generate_tile_2D": true,
"generate_2D_from_3D_model": false,
"generate_dsm_tile": false,
"fast_mode": false,
"use_image_position_constraint": true,
"min_avali_memory_size": 16,
"output_block_change_xml": false,
"output_tie_point_las": false,
"keep_undistort_images": false,
"use_draco_compression": true,
"tex_image_type_3dtiles": 0,
"use_gcj02": false,
"image_meta_data": [
{
"id": 1,
"path": "path/to/image1.jpg"
},
{
"id": 2,
"path": "path/to/image2.jpg"
}
]
}
验证并运行
1. 首先验证配置文件:
task_json_check.exe -task_json task.json
2. 验证通过后运行重建:
reconstruct_full_engine.exe -reconstruct_type 0 -task_json task.json
🎯 自定义您的第一个项目
基于示例,创建您自己的配置文件:
1. 复制示例配置
copy 1_reconstruct_full_basic.json my_project.json
2. 修改图像路径
编辑 my_project.json,将图像路径改为您的图像:
{
"image_meta_data": [
{
"id": 1,
"path": "C:/MyImages/DJI_0001.JPG"
},
{
"id": 2,
"path": "C:/MyImages/DJI_0002.JPG"
}
// ... 添加所有图像
]
}
3. 验证配置文件
在运行重建之前,使用 task_json_check.exe 工具验证配置文件的正确性:
task_json_check.exe my_project.json
如果配置文件有错误,工具会显示具体的错误信息。常见错误包括:
- 图像路径不存在
- 坐标系参数错误
- 必需字段缺失
4. 运行重建
配置文件验证通过后,执行重建任务:
reconstruct_full_engine.exe -reconstruct_type 0 -task_json my_project.json
📊 监控进度
控制台输出
显示处理步骤和进度百分比。
日志文件
output/logs/log.txt 包含详细的处理信息。
进度监控脚本
import re
import time
def monitor_progress(log_file):
with open(log_file, 'r') as f:
while True:
line = f.readline()
if '[PROGRESS]' in line:
match = re.search(r'\[PROGRESS\] (\d+)%', line)
if match:
print(f"当前进度: {match.group(1)}%")
time.sleep(1)
monitor_progress("output/log.txt")
❓ 常见问题
Q: 重建失败,提示"图像数量不足"
A: 确保:
- 至少提供 5 张图像
- 图像之间有足够的重叠(建议 >60%)
- 图像包含 GPS 信息或手动提供位置
Q: 如何提高重建质量?
A: 调整分辨率等级:
"resolution_level": 1 // 使用最高精度
Q: 重建速度太慢?
A: 优化策略:
- 使用
resolution_level: 3进行快速预览 - 启用
fast_mode: true - 考虑使用分块处理
💡 实用技巧
批量生成配置
对于大量图像,使用脚本自动生成配置:
import json
import os
from glob import glob
def create_task_json(image_folder, output_file):
images = glob(os.path.join(image_folder, "*.JPG"))
task_config = {
"working_dir": "./output/my_project",
"gdal_folder": "../gdal_data",
"input_image_type": 1,
"resolution_level": 2,
"coordinate_system": {
"type": 2,
"label": "WGS 84",
"epsg_code": 4326
},
"image_meta_data": []
}
for idx, img_path in enumerate(images, 1):
task_config["image_meta_data"].append({
"id": idx,
"path": img_path.replace("\\", "/")
})
with open(output_file, 'w', encoding='utf-8') as f:
json.dump(task_config, f, indent=2, ensure_ascii=False)
print(f"生成配置文件:{output_file}")
print(f"包含 {len(images)} 张图像")
# 使用
create_task_json("C:/MyImages", "batch_task.json")
🚀 下一步
恭喜!您已经掌握了 MipMapEngine SDK 的基本使用。接下来您可以:
需要帮助?查看故障排除指南或联系技术支持。