Hapus Kerah dari File ECW (Orthophoto Mosaic)

9

Mungkin saya kehilangan konsep dasar ketika harus memanipulasi / menghapus nilai-nilai dari mosaik RGB orthophoto. Apakah mungkin untuk sepenuhnya menghilangkan kerah (latar belakang hitam) dari mosaik ortofoto yang ada dalam format ECW. Saya dapat melakukannya dalam format TIFF tetapi file harus dalam format ECW karena sangat besar. Saya memiliki kesuksesan terbatas, menggunakan FME, untuk mencapai ini tetapi file yang dihasilkan selalu memiliki area yang tidak dihapus. Semoga semua ini masuk akal.

Saya terbuka untuk format lain yang akan berfungsi, tetapi selama itu berkinerja ke tingkat yang sama dengan ECW.

Saya memiliki akses ke FME dan ArcInfo.

dchaboya
sumber
Saya mencoba melakukan hal yang sama. Mengganti kerah di sekitar file .ECW. Bisakah Anda mengirim saya meja kerja FME. Terima kasih,
Cecília

Jawaban:

8

Ini adalah batasan dari versi awal (<= 3.3) dari format ECW yang tidak mendukung nilai-nilai NoData atau transparansi Alpha. Kompresi lossy membuatnya lebih sulit untuk menghapus kerah karena nilai hitam tidak benar-benar RGB 0,0,0 tetapi bervariasi.

Untuk menghilangkan kerah, Anda harus menyamarkan / memotong kerah dan mengonversi gambar ke format lain yang mendukung nilai-nilai NoData, pita-pita topeng atau transparansi Alpha. Anda dapat menggunakan ECW yang dikompresi menggunakan ERDAS ECW / JP2 SDK versi 4 atau lebih baru, JPEG2000 atau Geotiff.

Ada beberapa cara untuk menghapus kerah, saya cenderung menggambar poligon di sekitar data "baik" dan klip dengan itu atau menggunakan utilitas GDAL nearblack .

pengguna2856
sumber
Terima kasih atas tanggapannya. Ya, masalahnya adalah hitam, well ... tidak semua hitam, tetapi bervariasi dari 0 hingga 6 (dalam kasus saya). Saya telah mencoba JPEG2000, dan meskipun ukuran kompresinya serupa, kinerja rendering jauh lebih unggul dengan format ECW. Apakah MrSID tidak mendukung data?
dchaboya
MrSID memiliki masalah yang sama dengan versi format (GEN3) yang didukung oleh ArcGIS 10.0, meskipun MrSID GEN4 tidak mendukung pita alpha. Menurut utas ini , dukungan MrSID GEN4 ditargetkan untuk rilis ArcGIS 10.1.
blah238
Utilitas nearblack GDAL persis untuk kasus bahwa perbatasan tidak sepenuhnya hitam. Dengan warna c1, c2, c3 ... cn: (GDAL> = 1.9.0) Anda dapat mencari piksel di dekat warna yang ditentukan.
MarkusN
Saya akan mencoba utilitas nearblack. Jadi tampaknya semua format kompresi yang hilang tidak mendukung nodata. Adakah yang bisa menjelaskan secara singkat alasan di balik kompresi lossy yang tidak mampu mendukung nodata.
dchaboya
Transparansi pita alfa ECW diperkenalkan di SDK v4 (2009). ArcGIS 10.2+ dan QGIS 2.2+ mendukungnya untuk membaca (sumber: blog.hexagongeospatial.com/help-ecw-speckled-edges , yang memiliki penjelasan bagus tentang perbedaan antara Nodata Pixels dan Alpha Channel). Saya tidak tahu tentang menulis.
matt wilkie
5

ECW sejak 2010 telah mendukung transparansi alfa yang menghilangkan apa yang Anda sebut sebagai "kerah". Ini adalah batasan warisan dalam file ECW v3 saja.

File ECW v4 ditulis secara otomatis oleh semua perangkat lunak ERDAS yang ditandai 2010 dan di atasnya yang termasuk Imagine dan ERMapper. Produk pihak ketiga yang menggunakan SDK v4 dapat mendukung penulisan atau tentu saja membaca versi file ini (membaca disediakan secara gratis untuk aplikasi desktop). Saya tidak tahu jika FME 2012 memperbarui dukungan ECW mereka

Catatan: Versi format ECW kompatibel ke belakang. Jika Anda memiliki file ECW v4 dengan pita alpha yang ditentukan tetapi membaca dengan aplikasi menggunakan v3 SDK, pita tambahan hanya akan diabaikan. Periksa situs web erdas.com untuk beberapa plugin ECW gratis, khusus untuk lisensi ArcInfo Anda yang akan menambahkan dukungan ECW v4

Sayangnya prevalensi kompresor v3 berarti banyak orang menganggap keterbatasan tetap ada dan bagaimanapun juga merupakan keterbatasan format wavelet. Ini tentu tidak benar

Referensi,

Chris Tweedie
sumber
2

Ada cara untuk memanipulasi FME 2012 untuk menghapus kerah. Ini adalah proses yang rumit dan terlalu banyak untuk diketik di sini. Satu cara cepat untuk menunjukkan bagaimana hal itu bisa dilakukan adalah dengan menggunakan RasterExpressionEvaluator dan ekspresi

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])

Di mana MAXPIXVALUE adalah parameter pengguna yang disetel ke nilai piksel maksimum untuk dianggap hitam. Dalam kasus saya sekitar 8. Ekspresi mencari setiap pixel dan band. Jika salah satu band memiliki nilai kurang dari MAXPIXVALUE yang ditentukan itu menganggap sel itu tidak memiliki data. Jika nilai pikselnya adalah 9,8,8, ia akan meninggalkan piksel sebagaimana adanya karena satu pita lebih tinggi dari nilai yang ditentukan.

Dalam skenario saya, saya menggunakan ekspresi untuk membuat shapefile yang sesuai dengan gambar dengan tepat dan memotong ecws asli ke shapefile yang dibuat oleh ekspresi.

Zack Gilbert
sumber
Luar biasa. Akan mencoba ini. Saya menduga bahwa operasi ini akan memakan waktu untuk diselesaikan pada set data besar.
dchaboya
Iya. Sangat banyak sehingga. Kumpulan data saya beroperasi dari 2- 2000 ecws dan meja kerja rata-rata 2-48 jam.
Zack Gilbert
Saya mendapatkan kesalahan saat mencoba menjalankannya (mungkin tidak mengaturnya dengan benar). Jadi saya mengganti MAXPIXVALUE dengan nilai maks yang ingin saya ganti, seperti (2). Sekarang, saya tidak yakin bagaimana cara menggunakan port. Ada saran?
dchaboya
Saya tidak yakin. Saya perlu melihat meja kerja dan melihat. Email saya meja kerja Anda dengan file log dari terakhir kali Anda menjalankannya. Saya akan melihat apa yang bisa saya lakukan dengannya.
Zack Gilbert