Renk dengesi yapın ve geoserver'da büyük miktarda yüksek çözünürlüklü görüntü yayınlayın


11

Çevrimiçi bir uygulama için temel harita olarak kullanmak istediğim çok miktarda RapidEye resmim var (+300 Gb). Şimdiye kadar "steroidler üzerinde Geoserver" adlı bir sunumda gösterilen adımları izleyerek onları geoserver içinde bir ImagePyramid olarak hizmet başardı. Sorun şu ki, uygun bir renk dengesi yapamadım, bu yüzden tüm veri kümesine bakarken mozaik çok zayıf görünüyor, ancak yakınlaştırdığımda daha iyi oluyor (resimler aşağıda).

Benim sürecim:

  1. Tüm görüntüleri gdal kullanarak 8 bit, epsg 4326, kübik enterpolasyona dönüştürün
  2. Tüm görüntülerle bir gdal sanal tarama oluşturun (gdalbuildvrt)
  3. Görüntü piramidini (sıkıştırma ve geotiff tilling ile gdal_retile) oluşturun ve geoserver'da yayınlayın (katman stilinde histogram streç kullanarak)

Sürecin nasıl iyileştirileceği ve daha iyi renk dengesi elde edileceğine dair ipuçları var mı?

resim açıklamasını buraya girin resim açıklamasını buraya girin resim açıklamasını buraya girin

Yanıtlar:


6

Sanırım anladım.

8bit'e dönüştürme işlemi sırasında her RapidEye görüntüsünde ortalama + -2 Standart Sapma histogramı gerilmesini zorladım.

Görüntü min, maks, ortalama ve SD tanımlamak için bir python komut dosyası kullandım. Daha sonra ortalama - 2SD (veya resim min, hangisi daha yüksekse) değerini 2'ye ve ortalama + 2SD (veya maks.) Değerini 254'e ayarladım. Ve sadece güvende olmak için, görüntüdeki orijinal sıfır değeri 1 ve 2 ^ 16, 255 olarak ayarlandı. NoData 0 olarak ayarlandı.

Bunlar transfer fonksiyonu vektörleridir:

original image values = [0, mean-2SD, mean+2SD, 65536]
rescaled values = [1 2, 254, 255]

Aşağıda bazı ekran görüntüleri bulunmaktadır. Şimdi düzeltmem gereken problemler

  1. Görüntünün çevresindeki siyah kenarlığı kaldırın
  2. Tam olarak yakınlaştırıldığında daha iyi görünen bir görüntü elde edin. Şimdi yanlış kanala ayarlanmış eski bir TV'ye benziyor

resim açıklamasını buraya girin resim açıklamasını buraya girin resim açıklamasını buraya girin

Düzenle
Kodu şimdi GitHub'a yerleştirdim. Kullandığımdan beri bir süre geçti. Kod biraz dağınık ve böylece depo. Ama yine de çalışmalı.
https://github.com/dvictori/rapideye_hist2sd


Bravo, efendim. Bunun için 10 üzerinden 10 elde edersiniz. İkinci kaygınıza gelince (tam olarak yakınlaştırıldığında daha iyi görünmek), sadece LandSat veya ASTER gibi daha küçük taneli görüntüler kullanabilir misiniz? Bence daha büyük görüntüler uzaklaştırıldığında daha iyi görünecekti. ... ilk kaygınız için, hala o somunu kırmaya çalışıyorum, kendim. Bunu nasıl yapacağınıza dair kapsamlı bir yazı görmek isterim, eğer paylaşmak isterseniz py betiği de dahil olmak üzere. Yaklaşımınızı her yerde sunmayı planladığınız bir şans var mı?
elrobis

Bunu sunmayı veya yazmayı planlamıyordum. Ama şimdi bahsettiğinize göre, kim bilir. Bunu sunmak için uygun bir medya hakkında herhangi bir öneriniz var mı? Py betiğine gelince, dropbox.com/s/1hfobfp9ymtku2n/rapideye_hist2sd.py adresinden indirebilirsiniz . Ancak, uyarıda bulunun . Kendimi berbat bir programcı olarak görüyorum ve eminim programım birçok iyileştirme yapabilir.
Daniel

2
Yukarıdaki bağlantıdan indirme bağlantısını değiştirdim. Kullandığım python koduna bakmak isterseniz, goo.gl/ePEc7G
Daniel

Teşekkürler @ Daniel. Bu tür şeyler için nasıl yapılır yazdığım bir blog tutuyorum. Kolay olmayan ve web'de fazla yardım bulamadığım bir şeyle karşılaşırsam, birkaç nedenden dolayı bir blog yazısı yapacağım. İlk olarak, görevi bir ara tekrar etmem gerekeceğini varsayıyorum, bu yüzden adımları bir gönderiye birleştirirsem daha sonra kolayca inceleyebilirim. İkincisi, her zaman birisinin benzer bir şey yapmak istediği bir şans olduğunu ve görevden faydalanabileceklerini düşünüyorum. Burada yaptığınız, bir süreliğine tek gönderiniz olsa bile, blog'a layık. :)
elrobis

Bu harika bir fikir ve daha küçük bir çerçeve için uyarlamaya çalışıyorum, 3 bit kamera 8 bitten 8 bit'e gidiyor, ancak bunu uygulamakta sorun yaşıyorum. Giriş resimlerinin dizinini bu betiğe nasıl yönlendirmeliyim? Nereden çağrılıyorlar? Sanırım tüm bunlar geoserver üzerinden çalışıyor olmalı, ama bunu bozup bağımsız çalıştırabilir miyim?
Wes

4

Daniel, bu görüntüler çok farklı mevsimlerden mi? Veya günün saatleri? Farklı mevsimler ise, iyi renk dengesi elde etmek oldukça zor olabilir. Ancak günün farklı zamanlarıysa, güneş açısı için bir düzeltme uygulamak fark edilebilir. Güneş açısı için iyi bir ilk sıra yaklaşımı, piksellerin 1,0 / cos (angle_of_sun_off_directly_above) çarpımıyla çarpılmasıdır. Yani güneş doğrudan yukarıda ise hiçbir ayarlama, şafak / alacakaranlıkta yaklaştıkça ... sonsuza kadar yükselir.

Geçmişte , büyük mozaikleri birleştirmek için üst üste binen bölgelerdeki sahneler arasındaki histogram eşleşmesini kullanarak kötü sonuçlar elde ettim, çünkü mozaik boyunca garip sürüklenen efektler elde edersiniz. Daha yararlı bir yaklaşımın temel renk hedef imajına (belki de bölgenin çekici bir kara mozaiği mozaiği) uygun bir çeşit histogram olabileceğini düşünüyorum. Ayrıca bu sorunun nasıl çözüleceğiyle de ilgileniyorum. MapBox'taki Charlie Loyd'ın da düşünceleri olabilir.


Frank, görüntüler çoğunlukla bulut örtüsünün düşük olduğu kuru mevsimlerden. Ama ağustos, kasım gibi farklı aylardan görüntüler var. Şimdi görüntüleri küçük bloklara ayırmaya ve her biri için bir mozaik yapmaya çalışıyorum. Nasıl sonuçlandığını sana söylerim. Ayrıca bir CDF maçı yapmak için bir python betiği yazdım ve az sayıda görüntüye (20) sahip olduğumda (harika değil) iyi çalışıyor, ancak çok sayıda ulaştığımda, görüntülerden birinin değerlerimin dışında olması gerekiyor referans görüntü aralığı ve sonra işler çalışmayı durdurur. Referans görüntüyü seçmek için daha iyi bir yol düşünmek gerekebilir.
Daniel

0

Bazen renk dengeli mozaikler yapmak için histogram eşleşmeli OSSIM Image linker kullandım. Görüntü bağlayıcı öğretici bazı örnek verir http://download.osgeo.org/ossim/docs/pdfs/ImageLinker_Tutorial.pdf Ancak, Görüntü bağlayıcı aktif olarak korunmaz ve artık çalışıp çalışmadığını bilmiyorum. Ossim geocell şu anki programdır, ancak bu konuda çok fazla kullanıcı belgesi yoktur. İyi bir sonuç elde etmek için, görüntülerin görsel olarak yaklaşık aynı görünüme sahip olmasını sağlamak için bazı LUT streç uygulayarak Landsat sahnelerimi OpenEV ile birer birer önceden işlediğimi hatırlıyorum. OSSIM'in son eşleştirmeyi yapması daha kolay oldu. Son ürün ER Mapper mozaik aracı ile yaptığım kadar iyi görünüyordu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.