Hızlı Başlangıç
Bu kılavuz, MipMapEngine SDK'yı hızlıca başlatmanıza yardımcı olacaktır. İlk 3D yeniden yapılandırma görevinizi dakikalar içinde çalıştırmanızı sağlayan eksiksiz örnek betikler sunuyoruz.
📋 Ön Koşullar
Başlamadan önce, lütfen aşağıdakilere sahip olduğunuzdan emin olun:
- ✅ SDK kurulmuş (Kurulum Kılavuzu'na bakın)
- ✅ Lisansınız etkinleştirilmiş
🚀 Hızlı Deneyim: SDK Örnek Betiklerini Kullanma
SDK, example dizininde eksiksiz örnekler ve tek tıkla çalıştırma betikleri sağlar:
example/
├── 1_reconstruct_full_basic.json # Temel yeniden yapılandırma örneği
├── 2_group_cameras.json # Çoklu kamera grubu örneği
├── 3_custom_image_pos.json # Özel konum örneği
├── sample-images/ # Örnek görüntüler
├── 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
İlk Yeniden Yapılandırmanızı Çalıştırın
Step3_Run_Example1_Basic_Drone_Reconstruction_EN.bat
Betik otomatik olarak:
sample-images'dan örnek görüntüleri kullanır- Çıkış dizini oluşturur
- 3D yeniden yapılandırma sürecini başlatır
- Birden fazla formatta sonuçlar üretir
🎯 Örnek Detayları
Örnek 1: Temel Drone Yeniden Yapılandırması
Bu, standart drone hava görüntüleri için uygun olan en basit kullanım yoludur.
Özellikler:
- ✅ Minimum yapılandırma, kullanıma hazır, çoğu uygulama için uygun
- ✅ Ana DJI ölçüm dronlarıyla sorunsuz uyumlu
Yapılandırma Dosyası (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"
}
// ... daha fazla görüntü
],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_las": true,
"generate_obj": true,
"generate_geotiff": true
}
Manuel Çalıştırma:
reconstruct_full_engine.exe -reconstruct_type 0 -task_json 1_reconstruct_full_basic.json
Örnek 2: Çoklu Kamera Grubu Yeniden Yapılandırması
Çok lensli eğik kameralar veya çoklu drone işbirlikçi operasyonları için uygundur.
Step4_Run_Example2_Multi_Camera_Groups_EN.bat
Uygulama Senaryoları:
- 🔸 Beş lensli eğik kamera sistemleri
- 🔸 Çoklu drone işbirlikçi operasyonları
- 🔸 Farklı odak uzaklığı kamera kombinasyonları
- 🔸 Yer + hava ortak toplama
Anahtar Yapılandırma:
{
"image_meta_data": [
{
"id": 1,
"path": "image1.jpg",
"group": "camera_1" // Kamera gruplama
},
{
"id": 2,
"path": "image2.jpg",
"group": "camera_2" // Farklı kamera grubu
}
]
}
Örnek 3: Özel Görüntü Konumları
Yüksek hassasiyetli konumlandırma veya GPS'siz senaryolar için uygundur.
Step5_Custom_Image_Positions_EN.bat
Uygulama Senaryoları:
- 📍 PPK/RTK yüksek hassasiyetli konumlandırma verileri
- 📍 İç mekan veya zayıf GPS sinyali ortamları
- 📍 Konum doğruluğu ağırlıklarını özelleştirme ihtiyacı
Anahtar Yapılandırma:
{
"image_meta_data": [
{
"id": 1,
"path": "image.jpg",
"meta_data": {
"width": 4000,
"height": 3000,
"pos": [114.123456, 22.123456, 100.5], // [Boylam, Enlem, Yükseklik]
"pos_sigma": [0.03, 0.03, 0.06] // [X doğruluğu, Y doğruluğu, Z doğruluğu] metre
}
}
]
}
Doğruluk Referansı:
| Konumlandırma Yöntemi | X/Y Doğruluğu (m) | Z Doğruluğu (m) | Uygulama Senaryosu |
|---|---|---|---|
| RTK/PPK Sabit Çözüm | 0.02-0.05 | 0.05-0.10 | Yüksek hassasiyetli ölçüm |
| Normal GPS | 2-5 | 3-8 | Genel uygulamalar |
📊 Çıkış Sonuçlarını Görüntüleme
Yeniden yapılandırma tamamlandıktan sonra, çıkış dizini şunları içerecektir:
- 📁
3D/- 3D modellermodel-b3dm/- 3D Tiles (Cesium)model-osgb/- OSGB formatımodel-obj/- OBJ formatıpoint-las/- LAS nokta bulutu
- 📁
2D/- 2D ürünlerdom_tiles/- Ortofoto karolardsm_tiles/- Dijital yüzey modeli karolarıgeotiffs/- GeoTIFF formatı
- 📁
AT/- AT sonuçları - 📁
report/- Kalite raporu - 📁
logs/log.txt- İşleme günlüğü
🛠️ Etkileşimli Yapılandırma Oluşturucu
JSON yapılandırma dosyalarını manuel olarak yazmak istemiyorsanız, bunları hızlı bir şekilde oluşturmak için etkileşimli aracımızı kullanabilirsiniz:
🔧 Etkileşimli Yapılandırma Oluşturucu
Yapılandırma dosyanızı oluşturmak için aşağıdaki formu kullanın:
Temel Ayarlar
İşleme Parametreleri
Koordinat Sistemi Ayarları
Çıktı Formatları
3B Model
Nokta Bulutu
2B Ortofotoğraf
Diğer Formatlar
Gelişmiş Seçenekler
3B Döşeme Seçenekleri
2B Döşeme Seçenekleri
Yer Kontrol Noktaları (GCP)
Çıktı Koordinat Sistemi (Opsiyonel)
Oluşturulan Yapılandırma Dosyası
Aşağıdaki JSON'u şu şekilde kaydedin 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"
}
]
}
Doğrula ve Çalıştır
1. Önce yapılandırma dosyasını doğrulayın:
task_json_check.exe -task_json task.json
2. Doğruladıktan sonra yeniden yapılandırmayı çalıştırın:
reconstruct_full_engine.exe -reconstruct_type 0 -task_json task.json
🎯 İlk Projenizi Özelleştirin
Örneklere dayanarak, kendi yapılandırma dosyanızı oluşturun:
1. Örnek Yapılandırmayı Kopyalayın
copy 1_reconstruct_full_basic.json my_project.json
2. Görüntü Yollarını Değiştirin
my_project.json dosyasını düzenleyin ve görüntü yollarını kendi görüntülerinize değiştirin:
{
"image_meta_data": [
{
"id": 1,
"path": "C:/MyImages/DJI_0001.JPG"
},
{
"id": 2,
"path": "C:/MyImages/DJI_0002.JPG"
}
// ... tüm görüntüleri ekleyin
]
}
3. Yapılandırma Dosyasını Doğrulayın
Yeniden yapılandırmayı çalıştırmadan önce, yapılandırma dosyasını doğrulamak için task_json_check.exe aracını kullanın:
task_json_check.exe my_project.json
Yapılandırma dosyasında hatalar varsa, araç belirli hata mesajları görüntüleyecektir. Yaygın hatalar şunları içerir:
- Görüntü yolu mevcut değil
- Koordinat sistemi parametre hatası
- Gerekli alanlar eksik
4. Yeniden Yapılandırmayı Çalıştırın
Yapılandırma dosyası doğrulamayı geçtikten sonra, yeniden yapılandırma görevini yürütün:
reconstruct_full_engine.exe -reconstruct_type 0 -task_json my_project.json
📊 İlerlemeyi İzleme
Konsol Çıktısı
İşleme adımlarını ve ilerleme yüzdesini gösterir.
Günlük Dosyası
output/logs/log.txt ayrıntılı işleme bilgilerini içerir.
İlerleme İzleme Betiği
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"Mevcut ilerleme: {match.group(1)}%")
time.sleep(1)
monitor_progress("output/logs/log.txt")
❓ Yaygın Sorunlar
S: Yeniden yapılandırma "Yetersiz görüntü sayısı" ile başarısız oldu
C: Şunlardan emin olun:
- En az 5 görüntü sağlanmış
- Görüntüler arasında yeterli örtüşme (önerilen >%60)
- Görüntüler GPS bilgisi içeriyor veya konumları manuel olarak sağlıyorsunuz
S: Yeniden yapılandırma kalitesini nasıl iyileştirebilirim?
C: Çözünürlük seviyesini ayarlayın:
"resolution_level": 1 // En yüksek hassasiyeti kullan
S: Yeniden yapılandırma çok yavaş mı?
C: Optimizasyon stratejileri:
- Hızlı önizleme için
resolution_level: 3kullanın fast_mode: trueetkinleştirin- Blok işlemeyi kullanmayı düşünün
💡 Pratik İpuçları
Toplu Yapılandırma Oluşturma
Çok sayıda görüntü için, yapılandırmaları otomatik olarak oluşturmak için betikleri kullanın:
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"Yapılandırma dosyası oluşturuldu: {output_file}")
print(f"{len(images)} görüntü içeriyor")
# Kullanım
create_task_json("C:/MyImages", "batch_task.json")
🚀 Sonraki Adımlar
Tebrikler! MipMapEngine SDK'nın temel kullanımını öğrendiniz. Şimdi şunları yapabilirsiniz:
- 📚 Temel Kavramlar'ı öğrenin - 3D yeniden yapılandırma ilkelerini derinlemesine anlayın
- 🔧 API Referansı'nı kontrol edin - Daha gelişmiş özellikleri keşfedin
- 💡 Temel Kavramlar'ı gözden geçirin - 3D yeniden yapılandırma ilkelerini derinlemesine anlayın
- 🎯 Özel sahne işlemeyi deneyin - Zayıf doku, düşük örtüşme oranı gibi zorlu senaryolar
Yardıma mı ihtiyacınız var? Sorun giderme kılavuzunu kontrol edin veya teknik destekle iletişime geçin.