ECW dosyasından yaka kaldırmak (Orthophoto Mosaic)


9

RGB ortofoto mozaiğinin değerlerini değiştirmek / değiştirmek söz konusu olduğunda belki de temel bir konsepti kaçırıyorum. ECW formatında bir ortofoto mozaikten yakayı (siyah arka plan) tamamen ortadan kaldırmak mümkün mü? Bir TIFF formatında yapabildim ama dosya çok büyük olduğu için bir ECW formatında olması gerekiyor. Bunu başarmak için FME kullanarak sınırlı bir başarı elde ettim, ancak ortaya çıkan dosya her zaman kaldırılmayan alanlara sahip. Umarım bütün bunlar mantıklıdır.

Çalışacak diğer formatlara açığım, ancak bir ECW ile aynı seviyeye ulaştığı sürece.

FME ve ArcInfo'ya erişimim var.


Ben de aynısını yapmaya çalışıyorum. Bir .ECW dosyasının etrafındaki bileziği değiştirme. Kan bana FME tezgahını gönderdin. Teşekkürler,
Cecília

Yanıtlar:


8

Bu, ECW formatının NoData değerlerini veya Alfa saydamlığını desteklemeyen eski sürümlerinin (<= 3.3) bir sınırlamasıdır. Kayıplı sıkıştırma, siyah değerler tam olarak RGB 0,0,0 olmadığından, ancak değiştiğinden yakaların çıkarılmasını daha da zorlaştırır.

Yakasından kurtulmak için yakayı maskelemek / klipslemek ve görüntüyü NoData değerlerini, maske bantlarını veya Alfa saydamlığını destekleyen başka bir formata dönüştürmeniz gerekir. ERDAS ECW / JP2 SDK, JPEG2000 veya Geotiff'in sürüm 4 veya daha sonrasını kullanarak sıkıştırılmış ECW'leri kullanabilirsiniz.

Yaka kaldırmak için birkaç yolu vardır, ben ya "iyi" veri etrafında bir çokgen çizmek eğilimindedir ve bununla klip veya GDAL nearblack yardımcı programı kullanın .


Yanıt için teşekkürler. Evet, sorun şu ki, siyah, şey ... o kadar da siyah değil, ama 0'dan 6'ya (benim durumumda) değişiyor. JPEG2000'i denedim ve sıkıştırma boyutları benzer olsa da, oluşturma performansı bir ECW biçimiyle çok daha üstündür. MrSID veri desteklemiyor mu?
dchaboya

MrSID, ArcGIS 10.0 tarafından desteklenen biçim (GEN3) sürümü ile aynı sorunu yaşıyor, ancak MrSID GEN4 alfa bantlarını destekliyor. Bu konuya göre , MrSID GEN4 desteği ArcGIS 10.1 sürümü için hedeflenmiştir.
blah238

GDAL neredeyse siyah yardımcı programı, sınırın tam olarak siyah olmaması durumudur. Wit rengi c1, c2, c3 ... cn: (GDAL> = 1.9.0) belirtilen rengin yakınındaki pikselleri arayabilirsiniz.
markusN

Ben neredeyse siyah yardımcı programı deneyeceğim. Bu nedenle, tüm kayıplı sıkıştırma biçimlerinin nodata'yı desteklemediği anlaşılıyor. Herhangi biri, kayıplı kompresyonların nodata destekleyememesinin nedenini kısaca açıklayabilir mi?
dchaboya

ECW alfa bandı saydamlığı SDK v4 (2009) 'da sunulmuştur. ArcGIS 10.2+ ve QGIS 2.2+ okuma için destekliyor (kaynak: blog.hexagongeospatial.com/help-ecw-speckled-edges , Nodata Pikselleri ve Alfa Kanalı arasındaki farkın iyi bir açıklaması var). Yazmayı bilmiyorum.
matt wilkie

5

ECW, 2010'dan beri "yaka" olarak adlandırdığınız şeyi kaldıran alfa saydamlığını destekledi. Bu yalnızca ECW v3 dosyalarındaki eski bir sınırlamadır.

ECW v4 dosyaları 2010 ve üzeri etiketli tüm Imagine ve ERMapper içeren ERDAS yazılımları tarafından otomatik olarak yazılır. V4 SDK kullanan üçüncü taraf ürünleri bu dosya sürümünün yazılmasını veya kesinlikle okunmasını destekleyebilir (okuma, masaüstü uygulamaları için ücretsiz olarak sağlanır). FME 2012'nin ECW desteğini güncelleyip güncellemediğini bilmiyorum

Not: ECW biçimindeki sürümler geriye dönük olarak uyumludur. Alfa bandı tanımlanmış bir ECW v4 dosyanız varsa ancak v3 SDK kullanan bir uygulamayla okuyorsanız, ek bant yok sayılır. Özellikle ECInfo v4 desteği ekleyecek ArcInfo lisansınız için bazı ücretsiz ECW eklentileri için erdas.com web sitesine bakın.

Ne yazık ki v3 kompresörlerin yaygınlığı, birçok insanın sınırlamaların kaldığını varsayması anlamına geliyor ve bir şekilde dalgacık formatlarının bir sınırlaması. Bu kesinlikle doğru değil

Referanslar,


2

Yakayı çıkarmak için FME 2012'yi manipüle etmenin yolları vardır. Bu karmaşık bir süreç ve buraya yazmak için çok fazla. Nasıl yapıldığını göstermenin hızlı bir yolu RasterExpressionEvaluator ve ifadeyi kullanmaktır.

if(A[0]<$(MAXPIXVALUE)&&A[1]<$(MAXPIXVALUE)&&A[2]<$(MAXPIXVALUE),0,A[0]);if(A[0]<$(MAXPIXVALUE)&&A[1]<$(MAXPIXVALUE)&&A[2]<$(MAXPIXVALUE),0,A[1]);if(A[0]<$(MAXPIXVALUE)&&A[1]<$(MAXPIXVALUE)&&A[2]<$(MAXPIXVALUE),0,A[2])

Burada MAXPIXVALUE, siyah olarak kabul edilecek maksimum piksel değerine ayarlanmış bir kullanıcı parametresidir. Benim durumumda 8 civarındaydı. İfade her piksel ve bandı arar. Herhangi bir bant, belirtilen MAXPIXVALUE değerinden daha düşük bir değere sahipse, bu hücrenin veri içermediğini düşünür. Piksel değeri 9,8,8 ise, bir bant belirtilen değerden yüksek olduğu için pikseli olduğu gibi bırakır.

Senaryomda, ifadeyi görüntülere tam olarak uyan bir şekil dosyası oluşturmak için kullandım ve orijinal ecws'ı ifade tarafından oluşturulan şekil dosyasına kırptım.


Mükemmel. Bu bir deneyin. Bu işlemin büyük bir veri kümesinde tamamlanması biraz zaman alacaktır.
dchaboya

Evet. Çok fazla. Veri kümelerim 2-000 ecws arasında çalışıyor ve tezgah ortalama 2-48 saat çalışıyor.
Zack Gilbert

Çalıştırmaya çalışırken bir hata alıyorum (muhtemelen doğru şekilde ayarlanmamış). Bu yüzden MAXPIXVALUE değerini değiştirmek istediğim maksimum değerle değiştirdim, böyle (2). Şimdi, bağlantı noktalarını nasıl kullanacağımdan emin değilim. Herhangi bir öneri?
dchaboya

Emin değilim. Tezgaha bakıp görmem gerekecekti. Tezgahınızı en son çalıştırdığınız günlük dosyasıyla bana e-postayla gönderin. Bununla ne yapabileceğimi göreceğim.
Zack Gilbert
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.