Ana içeriğe geç

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:

  1. ✅ SDK kurulmuş (Kurulum Kılavuzu'na bakın)
  2. ✅ 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:

  1. sample-images'dan örnek görüntüleri kullanır
  2. Çıkış dizini oluşturur
  3. 3D yeniden yapılandırma sürecini başlatır
  4. 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öntemiX/Y Doğruluğu (m)Z Doğruluğu (m)Uygulama Senaryosu
RTK/PPK Sabit Çözüm0.02-0.050.05-0.10Yüksek hassasiyetli ölçüm
Normal GPS2-53-8Genel uygulamalar

📊 Çıkış Sonuçlarını Görüntüleme

Yeniden yapılandırma tamamlandıktan sonra, çıkış dizini şunları içerecektir:

  • 📁 3D/ - 3D modeller
    • model-b3dm/ - 3D Tiles (Cesium)
    • model-osgb/ - OSGB formatı
    • model-obj/ - OBJ formatı
    • point-las/ - LAS nokta bulutu
  • 📁 2D/ - 2D ürünler
    • dom_tiles/ - Ortofoto karolar
    • dsm_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

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: 3 kullanın
  • fast_mode: true etkinleş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.