跳到主要内容

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_dirstring工作目录路径"C:/Projects/MyProject"
gdal_folderstringGDAL 数据目录"C:/MipMap/SDK/data"
image_meta_dataarray图像列表格式说明查看image_meta_data

可选参数 - 基础参数

参数名类型默认值说明
input_image_typeint图像类型1=RGB, 2=多光谱, 3=红外
resolution_levelint精度等级1=高, 2=中, 3=低

可选参数 - 输出控制

参数名类型默认值说明
generate_objboolfalse生成 OBJ 格式模型
generate_plyboolfalse生成 PLY 格式模型
generate_osgbboolfalse生成 OSGB 格式(倾斜摄影)
generate_3d_tilesboolfalse生成 3D Tiles(Cesium)
generate_lasboolfalse生成 LAS 点云
generate_pc_plyboolfalse生成点云 PLY
generate_pc_osgbboolfalse生成点云 OSGB (LOD)
generate_pc_pntsboolfalse生成点云 PNTS (3D Tiles)
generate_geotiffboolfalse生成正射影像
generate_tile_2Dboolfalse生成 2D 瓦片
generate_2D_from_3D_modelboolfalse从 3D 模型生成正射

可选参数 - 坐标系 [坐标系字段详细含义见下方]

参数名类型默认值说明
coordinate_systemobject输入坐标系输入图像的POS坐标系,典型如WGS84坐标系
coordinate_system_3dobjectLocal/LocalENU输出 3D 成果坐标系
coordinate_system_2dobjectLocalENU输出 2D 成果坐标系

📝 数据结构详解

coordinate_system 对象

字段名类型说明示例值
typeint坐标系类型:0=LocalENU,1=Local,2=Geographic,3=Projected,4=ECEF2
type_namestring坐标系类型名称(可选,辅助说明)"Geographic"
labelstring坐标系名称(可选)"WGS 84"
epsg_codeintEPSG 代码(地理/投影/地心坐标系需填写)4326
wktstringWKT 字符串(可选,替代 epsg_code)"..."
origin_pointarray[3]原点WGS84坐标 [经度, 纬度, 高程](仅 type=0 LocalENU 时需要)[114.12, 22.12, 0]
offsetarray[3]坐标系原点偏移(可选)[0, 0, 0]

常用设置:

  • 地理坐标系(WGS84):type=2, epsg_code=4326
  • 投影坐标系(UTM):type=3, epsg_code=32650
  • 本地坐标系:type=1type=0(需指定 origin_point)
{
"type": 2, // 1=投影, 2=地理, 3=地心
"type_name": "Geographic",
"label": "WGS 84", // 坐标系名称
"epsg_code": 4326 // EPSG 代码
}

image_meta_data 数组元素

图像元数据(Image Metadata)

字段名类型是否必需说明
idint图像唯一ID
pathstring图像绝对路径
groupstring相机组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 的最佳选择。随着经验增长,您可以探索其他接口以获得更多控制。