Zum Hauptinhalt springen

Schnellstart

Diese Anleitung hilft Ihnen, schnell mit dem MipMapEngine SDK zu beginnen. Wir bieten vollständige Beispielskripte, mit denen Sie Ihre erste 3D-Rekonstruktionsaufgabe in wenigen Minuten ausführen können.

📋 Voraussetzungen

Bevor Sie beginnen, stellen Sie bitte sicher, dass Sie:

  1. ✅ Das SDK installiert haben (siehe Installationsanleitung)
  2. ✅ Ihre Lizenz aktiviert haben

🚀 Schnelleinstieg: Verwendung der SDK-Beispielskripte

Das SDK bietet vollständige Beispiele und Ein-Klick-Ausführungsskripte im example-Verzeichnis:

example/
├── 1_reconstruct_full_basic.json # Grundlegendes Rekonstruktionsbeispiel
├── 2_group_cameras.json # Beispiel für Mehrkameragruppen
├── 3_custom_image_pos.json # Beispiel für benutzerdefinierte Position
├── sample-images/ # Beispielbilder
├── Step1_Hardware_Check_EN.bat
├── Step2_License_Manager_EN.bat
├── Step3_Run_Example1_Basic_Drone_Reconstruction_EN.bat
├── Step4_Run_Example2_Multi_Camera_Groups_EN.bat
└── Step5_Custom_Image_Positions_EN.bat

Ihre erste Rekonstruktion ausführen

Step3_Run_Example1_Basic_Drone_Reconstruction_EN.bat

Das Skript wird automatisch:

  1. Beispielbilder aus sample-images verwenden
  2. Ausgabeverzeichnis erstellen
  3. Den 3D-Rekonstruktionsprozess starten
  4. Ergebnisse in mehreren Formaten generieren

🎯 Beispieldetails

Beispiel 1: Grundlegende Drohnenrekonstruktion

Dies ist die einfachste Verwendungsweise, geeignet für Standard-Drohnenluftbilder.

Funktionen:

  • ✅ Minimale Konfiguration, sofort einsatzbereit, geeignet für die meisten Anwendungen
  • ✅ Nahtlos kompatibel mit gängigen DJI-Vermessungsdrohnen

Konfigurationsdatei (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"
}
// ... weitere Bilder
],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_las": true,
"generate_obj": true,
"generate_geotiff": true
}

Manuelle Ausführung:

reconstruct_full_engine.exe -reconstruct_type 0 -task_json 1_reconstruct_full_basic.json

Beispiel 2: Mehrkameragruppen-Rekonstruktion

Geeignet für Mehrlinsen-Schrägbildkameras oder kooperative Mehrdrohnen-Operationen.

Step4_Run_Example2_Multi_Camera_Groups_EN.bat

Anwendungsszenarien:

  • 🔸 Fünflinsen-Schrägbildkamerasysteme
  • 🔸 Kooperative Mehrdrohnen-Operationen
  • 🔸 Kombinationen von Kameras mit unterschiedlichen Brennweiten
  • 🔸 Gemeinsame Boden- und Lufterfassung

Schlüsselkonfiguration:

{
"image_meta_data": [
{
"id": 1,
"path": "image1.jpg",
"group": "camera_1" // Kameragruppierung
},
{
"id": 2,
"path": "image2.jpg",
"group": "camera_2" // Andere Kameragruppe
}
]
}

Beispiel 3: Benutzerdefinierte Bildpositionen

Geeignet für hochpräzise Positionierung oder GPS-lose Szenarien.

Step5_Custom_Image_Positions_EN.bat

Anwendungsszenarien:

  • 📍 PPK/RTK-Hochpräzisionspositionierungsdaten
  • 📍 Innenräume oder Umgebungen mit schlechtem GPS-Signal
  • 📍 Notwendigkeit zur Anpassung von Positionsgenauigkeitsgewichten

Schlüsselkonfiguration:

{
"image_meta_data": [
{
"id": 1,
"path": "image.jpg",
"meta_data": {
"width": 4000,
"height": 3000,
"pos": [114.123456, 22.123456, 100.5], // [Längengrad, Breitengrad, Höhe]
"pos_sigma": [0.03, 0.03, 0.06] // [X-Genauigkeit, Y-Genauigkeit, Z-Genauigkeit] Meter
}
}
]
}

Genauigkeitsreferenz:

PositionierungsmethodeX/Y-Genauigkeit (m)Z-Genauigkeit (m)Anwendungsszenario
RTK/PPK-Festlösung0,02-0,050,05-0,10Hochpräzisionsvermessung
Reguläres GPS2-53-8Allgemeine Anwendungen

📊 Ausgabeergebnisse anzeigen

Nach Abschluss der Rekonstruktion enthält das Ausgabeverzeichnis:

  • 📁 3D/ - 3D-Modelle
    • model-b3dm/ - 3D Tiles (Cesium)
    • model-osgb/ - OSGB-Format
    • model-obj/ - OBJ-Format
    • point-las/ - LAS-Punktwolke
  • 📁 2D/ - 2D-Produkte
    • dom_tiles/ - Orthophoto-Kacheln
    • dsm_tiles/ - Digitale Oberflächenmodell-Kacheln
    • geotiffs/ - GeoTIFF-Format
  • 📁 AT/ - AT-Ergebnisse
  • 📁 report/ - Qualitätsbericht
  • 📁 logs/log.txt - Verarbeitungsprotokoll

🛠️ Interaktiver Konfigurationsgenerator

Wenn Sie keine JSON-Konfigurationsdateien manuell schreiben möchten, können Sie unser interaktives Tool verwenden, um sie schnell zu generieren:

🔧 Interaktiver Konfigurationsgenerator

Verwenden Sie das folgende Formular, um Ihre Konfigurationsdatei zu generieren:

Grundeinstellungen

Verarbeitungsparameter

Koordinatensystemeinstellungen

Ausgabeformate

3D-Modell
Punktwolke
2D-Orthofoto
Weitere Formate

Erweiterte Optionen

3D-Kacheloptionen
2D-Kacheloptionen

Ground Control Points (GCP)

Ausgabe-Koordinatensystem (optional)

Generierte Konfigurationsdatei

Speichern Sie das folgende JSON als 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"
}
]
}

Validieren und Ausführen

1. Validieren Sie zuerst die Konfigurationsdatei:

task_json_check.exe -task_json task.json

2. Nach der Validierung führen Sie die Rekonstruktion aus:

reconstruct_full_engine.exe -reconstruct_type 0 -task_json task.json

🎯 Ihr erstes Projekt anpassen

Basierend auf den Beispielen erstellen Sie Ihre eigene Konfigurationsdatei:

1. Beispielkonfiguration kopieren

copy 1_reconstruct_full_basic.json my_project.json

2. Bildpfade ändern

Bearbeiten Sie my_project.json und ändern Sie die Bildpfade zu Ihren Bildern:

{
"image_meta_data": [
{
"id": 1,
"path": "C:/MyImages/DJI_0001.JPG"
},
{
"id": 2,
"path": "C:/MyImages/DJI_0002.JPG"
}
// ... alle Bilder hinzufügen
]
}

3. Konfigurationsdatei validieren

Verwenden Sie vor der Ausführung der Rekonstruktion das Tool task_json_check.exe, um die Konfigurationsdatei zu validieren:

task_json_check.exe my_project.json

Wenn es Fehler in der Konfigurationsdatei gibt, zeigt das Tool spezifische Fehlermeldungen an. Häufige Fehler sind:

  • Bildpfad existiert nicht
  • Koordinatensystem-Parameterfehler
  • Erforderliche Felder fehlen

4. Rekonstruktion ausführen

Nachdem die Konfigurationsdatei die Validierung bestanden hat, führen Sie die Rekonstruktionsaufgabe aus:

reconstruct_full_engine.exe -reconstruct_type 0 -task_json my_project.json

📊 Fortschritt überwachen

Konsolenausgabe

Zeigt Verarbeitungsschritte und Fortschrittsprozentsatz.

Protokolldatei

output/logs/log.txt enthält detaillierte Verarbeitungsinformationen.

Fortschrittsüberwachungsskript

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"Aktueller Fortschritt: {match.group(1)}%")
time.sleep(1)

monitor_progress("output/logs/log.txt")

❓ Häufige Probleme

F: Rekonstruktion fehlgeschlagen mit "Unzureichende Anzahl von Bildern"

A: Stellen Sie sicher:

  • Mindestens 5 Bilder werden bereitgestellt
  • Ausreichende Überlappung zwischen Bildern (empfohlen >60%)
  • Bilder enthalten GPS-Informationen oder Positionen werden manuell bereitgestellt
F: Wie kann die Rekonstruktionsqualität verbessert werden?

A: Auflösungsstufe anpassen:

"resolution_level": 1  // Höchste Präzision verwenden
F: Rekonstruktion zu langsam?

A: Optimierungsstrategien:

  • Verwenden Sie resolution_level: 3 für schnelle Vorschau
  • Aktivieren Sie fast_mode: true
  • Erwägen Sie die Verwendung von Blockverarbeitung

💡 Praktische Tipps

Stapel-Konfigurationsgenerierung

Für eine große Anzahl von Bildern verwenden Sie Skripte zur automatischen Generierung von Konfigurationen:

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"Konfigurationsdatei generiert: {output_file}")
print(f"Enthält {len(images)} Bilder")

# Verwendung
create_task_json("C:/MyImages", "batch_task.json")

🚀 Nächste Schritte

Herzlichen Glückwunsch! Sie haben die grundlegende Verwendung des MipMapEngine SDK gemeistert. Als Nächstes können Sie:

  • 📚 Grundkonzepte lernen - Tiefes Verständnis der 3D-Rekonstruktionsprinzipien
  • 🔧 API-Referenz überprüfen - Erweiterte Funktionen erkunden
  • 💡 Grundkonzepte durchgehen - Tiefes Verständnis der 3D-Rekonstruktionsprinzipien
  • 🎯 Spezielle Szenenverarbeitung ausprobieren - Herausfordernde Szenarien wie schwache Textur, niedrige Überlappungsrate

Benötigen Sie Hilfe? Überprüfen Sie den Fehlerbehebungsleitfaden oder kontaktieren Sie den technischen Support.