跳到主要内容

快速开始

本指南将帮助您快速上手 MipMapEngine SDK。我们提供了完整的示例脚本,让您可以在几分钟内运行第一个三维重建任务。

📋 前置准备

在开始之前,请确保您已经:

  1. ✅ 安装了 SDK(参见安装指南
  2. ✅ 激活了许可证

🚀 快速体验:使用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

脚本会自动:

  1. 使用 sample-images 中的示例图像
  2. 创建输出目录
  3. 启动三维重建过程
  4. 生成多种格式的成果

🎯 示例详解

示例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.050.05-0.10高精度测绘
普通 GPS2-53-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 的基本使用。接下来您可以:

  • 📚 学习基本概念 - 深入理解三维重建原理
  • 🔧 查看API 参考 - 探索更多高级功能
  • 💡 查看基本概念 - 深入理解三维重建原理
  • 🎯 尝试特殊场景处理 - 弱纹理、低重叠率等挑战性场景

需要帮助?查看故障排除指南或联系技术支持。