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:
- ✅ Das SDK installiert haben (siehe Installationsanleitung)
- ✅ 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:
- Beispielbilder aus
sample-imagesverwenden - Ausgabeverzeichnis erstellen
- Den 3D-Rekonstruktionsprozess starten
- 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:
| Positionierungsmethode | X/Y-Genauigkeit (m) | Z-Genauigkeit (m) | Anwendungsszenario |
|---|---|---|---|
| RTK/PPK-Festlösung | 0,02-0,05 | 0,05-0,10 | Hochpräzisionsvermessung |
| Reguläres GPS | 2-5 | 3-8 | Allgemeine Anwendungen |
📊 Ausgabeergebnisse anzeigen
Nach Abschluss der Rekonstruktion enthält das Ausgabeverzeichnis:
- 📁
3D/- 3D-Modellemodel-b3dm/- 3D Tiles (Cesium)model-osgb/- OSGB-Formatmodel-obj/- OBJ-Formatpoint-las/- LAS-Punktwolke
- 📁
2D/- 2D-Produktedom_tiles/- Orthophoto-Kachelndsm_tiles/- Digitale Oberflächenmodell-Kachelngeotiffs/- 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:
{
"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: 3fü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.