ReconstructFull API
ReconstructFull 是最简单易用的全流程重建接口,适合快速启动项目和新手用户。它会自动处理图像元数据提取、空三计算和三维重建的完整流程。
适用场景
- 适合图片EXIF信息中包含35mm等效焦距和GPS位置信息的快速自动化全流程重建
🎯 接口特点
- ✅ 自动化程度高:自动从图像 EXIF 读取 GPS 和相机信息
- ✅ 配置简单:最少只需要提供图像路径
- ✅ 一步到位:从图像直接生成最终成果
- ✅ 智能优化:自动选择最佳处理参数
接口调用
命令行调用
reconstruct_full_engine.exe -reconstruct_type 0 -task_json full_config.json
参数说明
reconstruct_type: 固定为0(表示 ReconstructFull)task_json: 参数文件路径
📋 参数详解
必需参数
| 参数名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
working_dir | string | 工作目录路径 | "C:/Projects/MyProject" |
gdal_folder | string | GDAL 数据目录 | "C:/MipMap/SDK/data" |
image_meta_data | array | 图像列表 | 格式说明查看image_meta_data |
可选参数 - 基础参数
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
input_image_type | int | 图像类型 | 1=RGB, 2=多光谱, 3=红外 |
resolution_level | int | 精度等级 | 1=高, 2=中, 3=低 |
可选参数 - 输出控制
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
generate_obj | bool | false | 生成 OBJ 格式模型 |
generate_ply | bool | false | 生成 PLY 格式模型 |
generate_osgb | bool | false | 生成 OSGB 格式(倾斜摄影) |
generate_3d_tiles | bool | false | 生成 3D Tiles(Cesium) |
generate_las | bool | false | 生成 LAS 点云 |
generate_pc_ply | bool | false | 生成点云 PLY |
generate_pc_osgb | bool | false | 生成点云 OSGB (LOD) |
generate_pc_pnts | bool | false | 生成点云 PNTS (3D Tiles) |
generate_geotiff | bool | false | 生成正射影像 |
generate_tile_2D | bool | false | 生成 2D 瓦片 |
generate_2D_from_3D_model | bool | false | 从 3D 模型生成正射 |
可选参数 - 坐标系 [坐标系字段详细含义见下方]
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
coordinate_system | object | 输入坐标系 | 输入图像的POS坐标系,典型如WGS84坐标系 |
coordinate_system_3d | object | Local/LocalENU | 输出 3D 成果坐标系 |
coordinate_system_2d | object | LocalENU | 输出 2D 成果坐标系 |
📝 数据结构详解
coordinate_system 对象
| 字段名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
type | int | 坐标系类型:0=LocalENU,1=Local,2=Geographic,3=Projected,4=ECEF | 2 |
type_name | string | 坐标系类型名称(可选,辅助说明) | "Geographic" |
label | string | 坐标系名称(可选) | "WGS 84" |
epsg_code | int | EPSG 代码(地理/投影/地心坐标系需填写) | 4326 |
wkt | string | WKT 字符串(可选,替代 epsg_code) | "..." |
origin_point | array[3] | 原点WGS84坐标 [经度, 纬度, 高程](仅 type=0 LocalENU 时需要) | [114.12, 22.12, 0] |
offset | array[3] | 坐标系原点偏移(可选) | [0, 0, 0] |
常用设置:
- 地理坐标系(WGS84):
type=2, epsg_code=4326- 投影坐标系(UTM):
type=3, epsg_code=32650- 本地坐标系:
type=1或type=0(需指定 origin_point)
{
"type": 2, // 1=投影, 2=地理, 3=地心
"type_name": "Geographic",
"label": "WGS 84", // 坐标系名称
"epsg_code": 4326 // EPSG 代码
}
image_meta_data 数组元素
图像元数据(Image Metadata)
| 字段名 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
id | int | 是 | 图像唯一ID |
path | string | 是 | 图像绝对路径 |
group | string | 否 | 相机组ID(多相机系统时使用) |
基础格式(自动读取 EXIF)
{
"id": 1, // 唯一标识符
"path": "C:/Images/DJI_0001.JPG", // 图像路径
"group": "camera_1" // 相机分组【可选】
}
相机分组(group)参数
用于多相机系统,将不同相机的图像分组处理:
"image_meta_data": [
{"id": 1, "path": "nadir/IMG_001.jpg", "group": "nadir"},
{"id": 2, "path": "nadir/IMG_002.jpg", "group": "nadir"},
{"id": 3, "path": "oblique_f/IMG_001.jpg", "group": "oblique_forward"},
{"id": 4, "path": "oblique_b/IMG_001.jpg", "group": "oblique_backward"},
{"id": 5, "path": "oblique_l/IMG_001.jpg", "group": "oblique_left"},
{"id": 6, "path": "oblique_r/IMG_001.jpg", "group": "oblique_right"}
]
常见分组场景:
- 五目倾斜相机:nadir, oblique_forward, oblique_backward, oblique_left, oblique_right
- 双相机系统:wide_angle, telephoto
- 多机协同:drone_1, drone_2, drone_3
- 多时相:morning, afternoon
📝 配置示例
最简配置
{
"working_dir": "C:/Projects/QuickStart",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"coordinate_system": {
"type": 2,
"label": "WGS 84",
"epsg_code": 4326
},
"image_meta_data": [
{"id": 1, "path": "C:/Images/DJI_0001.JPG"},
{"id": 2, "path": "C:/Images/DJI_0002.JPG"},
{"id": 3, "path": "C:/Images/DJI_0003.JPG"},
{"id": 4, "path": "C:/Images/DJI_0004.JPG"},
{"id": 5, "path": "C:/Images/DJI_0005.JPG"}
],
"generate_obj": true,
"generate_geotiff": true
}
多相机组配置示例
{
"working_dir": "D:/Projects/MultiCamera",
"gdal_folder": "D:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1,
"coordinate_system": {
"type": 2,
"label": "WGS 84",
"epsg_code": 4326
},
// 多相机图像分组
"image_meta_data": [
// 下视相机
{"id": 1, "path": "nadir/IMG_001.jpg", "group": "nadir"},
{"id": 2, "path": "nadir/IMG_002.jpg", "group": "nadir"},
// 前视倾斜相机
{"id": 3, "path": "forward/IMG_001.jpg", "group": "oblique_f"},
{"id": 4, "path": "forward/IMG_002.jpg", "group": "oblique_f"},
// 更多相机组...
],
"generate_osgb": true,
"generate_3d_tiles": true
}
🎯 使用建议
适用场景
- ✅ 快速原型和测试
- ✅ 标准航拍项目
- ✅ 自动化批处理
- ✅ 新手入门学习
不适用场景
- ❌ 需要精细控制处理参数
- ❌ 需要使用控制点
- ❌ 特殊相机或传感器
ReconstructFull 是开始使用 MipMapEngine SDK 的最佳选择。随着经验增长,您可以探索其他接口以获得更多控制。