Bu repoda Monteverdi OTB yazılımı ile temel uydu görüntü işlemleri özetlenecektir. Bu repo Eskişehir Teknik Üniversitesi, Yer ve Uzay Bilimleri Enstitüsü, Uzaktan Algılama ve Coğrafi Bilgi Sistemleri Doktora Programı UCS635 Uydu Görüntü İşleme dersi kapsamında ve diğer eğitimlerimde ortam kullanmak için hazırlanmıştır. Rahatlıkla kullanabilirsiniz. İyi görüntü işlemeler :)
Derslerimde OTB ve SNAP gibi yazılımları seçmem bu yazılımların ücretsiz ve açık kaynaklı olmalarından kolay ulaşılabilir olmalarıdır. OTB yazılımı hakkında bilgi sahibi olmak için: https://www.orfeo-toolbox.org/packages/doc/otb-general-en.pdf
- OTB yazılımını https://www.orfeo-toolbox.org/download/ adresinden indirerek klasörü zipten çıkarıyoruz.
- OTB klasöründeki monteverdi.bat dosyası çift tıklanarak açıldığında OTB kullanıma hazır olur herhangi bir kurulum gerekmiyor.
- https://github.com/kalkan/SNAPileSentinel-2 tutorial'ındaki 6. aşamaya kadar olan kısım aynı olacak şekilde Sentinel-2 verimizi indirip zipten çıkarıyoruz. Bu çalışmada sadece B03-B04 ve B08 bantlarını kullanacağız.
- Bu 3 bandın .jp2 uzantılı dosyalarını sürükleyip Monteverdi ekranına atarak görüntüleri açıyoruz. Bu noktada istediğiniz bant ile çalışabilirsiniz. Sonraki aşamada bu 3 bandı birleştirip tek görüntü elde edeceğiz.
- Bir sonraki aşamada sağ tarafta bululan "Color dynamics" tabından "No data" değerini "0" yaparak uygulayalım. Bu işlemden sonra görüntünün histogramı anlamlı olarak görüntülenebilir hale gelecektir.
- Görüntünün histogramını görüntülemek için sağ üstteki "Histogram" tabına basıyoruz.
- Şimdi tüm işlemlerin listelendiği toolbox'u açmak için View menüsünden OTB Application Browser'ı açalım.
Tüm araçlar sağ üste eklenmiş olmalı.
- İlk işlemimiz diğer uygulamlarda "Layer Stack" olarakda bulabileceğimiz "ConcatenateImages" olacak. Arama bölümünden bu seçeneği seçerek devam ediyoruz işleme.
- ( )butonu ile ilgili 3 bandı ekleyerek, Output alanına çıkacak görüntünün adını .tif uzantılı olarak oluştururak işlemi çalıştırıyoruz.
Görüntümüz yüklendi fakat bantların kombinasyonu istediğimiz gibi olmadı. False colour renklendirmek istiyoruz. Bir sonraki işlemde band kombinasyonlarını değiştireceğiz.
- Band kombinasyonunu NIR-Red-Green olacak şekilde, Color setup menüsünden değiştirdikten sonra Color dynamics ekranından yine No data değerini 0 yaparak görselleştirelim.
Görüntümüz istediğimiz formatta görüntülenmeye hazır.
- Görüntü kesme için daha önce benim QGIS'de çizdiğim subset.kml dosyası ile çıktı dosyası için bir isim vererek "ExtractROI" komutu ile görüntüyü kesiyoruz. Extraction Mode ekranından "Fit" seçebiliriz.
Kesilen görüntü ile işlemlere devam edeceğiz.
- Kontrast İyileştirme işlemi için, "ContrastEnhancement" komutu ile Global parametreleri kullanarak görüntüye kontrast düzeltmeesi uygulayalım. Çıktı görüntüsünü subsetiyi.tif olarak adlandırabiliriz.
- Kenar belirleme işlemi için "EdgeExtraction" komutu ile kenar.tif dosyası oluşacak şekilde Sobel yöntemi ile kenar belirleyelim.
- Görüntü istatistiklerini belirlemek için, "ComputeImageStatistics" komutu ile Mean, Min, Max ve Stdev değerlerini hesaplatalım.
- NDVI değerini hesaplamak için bu uygulamada bant aritmetiği yerine Monteverdi'de ön tanımlı radyometrik indeksleri kullanmayı göstereceğiz. Bu amaçla "RadiometricIndices" komutu ile NIR ve RED bantların konumu gösterildikten sonra subset.tif görüntümüzden NDVI indeksini hesaplayalım. ndvi.tif dosyasına kaydedelim.
- Görüntüdeki piksel değerlerini 0-1 arasına normalize etmek için Rescale komutu ile scaled.tif görüntüsünü oluşturalım.
- Zonal Statistics işlem adımında size verilen pivot.kml dosyası sınırları için bölgesel istatistikleri hesaplamak için, "ZonalStatistics" komutunu çalıştıralım.
- K-means sınıflandırması için "KmeanSClassification" komutu ile 2 sınıfta kmeans.tif dosyasını oluşturalım.
Eğitimsiz/Kontrolsüz bir kümeleme algoritması olan kmeans ile görüntünün bitki örtülü alanlar ve bitki örtüsüz alanlar olarak nasıl 2 ayrı sınıfa ayrıldığını görebilirsiniz.
- Son işlem adımı olarak Mean-shift Segmentasyonu ile görüntü süper piksellere veya bölütlere ayıralım. Bunun için "Segmentation" komutunu çağırarak, kmeans.tif görüntümüzden bolut.shp çıktısı üretecek şekilde öntanımlı ayarlar ile Mean-shift yöntemi ile görüntü süper piksellere ayıralım.
Oluşan vektör dosyasını QGIS ile açtığımızda aşağıdaki vektör alanları görebilirsiniz.