Видалення коміра з файлу ECW (Orthophoto Mosaic)


9

Можливо, мені не вистачає базової концепції, коли справа стосується маніпулювання / видалення значень з ортофото-мозаїки RGB. Чи можливо повністю усунути комір (чорний фон) з ортофото-мозаїки, що знаходиться у форматі ECW. Мені вдалося це зробити у форматі TIFF, але файл повинен бути у форматі ECW, оскільки він дуже великий. Я мав обмежений успіх, використовуючи FME, щоб досягти цього, але в результатному файлі завжди є області, які не видаляються. Сподіваюся, все це має сенс.

Я відкритий для інших форматів, які працюватимуть, але до тих пір, поки він працює на тому ж рівні, що і ECW.

У мене є доступ до FME та ArcInfo.


Я намагаюся зробити те саме. Заміна коміра навколо файлу .ECW. Кан, ти надішлеш мені верстат FME. Дякую,
Cecília

Відповіді:


8

Це обмеження ранніх версій (<= 3.3) формату ECW, які не підтримували значення NoData або прозорість Alpha. Стиснення втрат ще більше ускладнює зняття комірів, оскільки значення чорних кольорів не є точно 0,0,0 RGB, але змінюються.

Щоб позбутися від коміра, вам потрібно замаскувати / вирізати комір і перетворити зображення в інший формат, який підтримує значення NoData, смуги масок або прозорість Alpha. Ви можете використовувати ECW, стиснуті за версією 4 або новішої версії SDK ERDAS ECW / JP2 SDK, JPEG2000 або Geotiff.

Існує кілька способів зняти комір, я схильний або намалювати багатокутник навколо «хороших» даних і зафіксувати його , або скористатися утилітою GDAL nearblack .


Дякуємо за відповідь. Так, проблема полягає в тому, що чорний, ну ... не все так чорний, але коливається від 0 до 6 (у моєму випадку). Я спробував JPEG2000, і хоча розміри стиснення схожі, ефективність візуалізації набагато перевершує формат ECW. Чи підтримує MrSID відсутні дані?
дчабоя

У MrSID є така ж проблема з версією формату (GEN3), що підтримується ArcGIS 10.0, хоча MrSID GEN4 підтримує альфа-діапазони. Згідно з цією темою , підтримка MrSID GEN4 орієнтована на випуск ArcGIS 10.1.
blah238

Утиліта GDAL nearblack - це саме те, що межа не ідеально чорна. Дотепні кольори c1, c2, c3 ... cn: (GDAL> = 1.9.0) Ви можете шукати пікселі поблизу вказаного кольору.
markusN

Я спробую утиліту Nearblack. Отож виявляється, що всі формати стиснення втрати не підтримують нодатів. Хтось може коротко пояснити причину того, що втратні компресії не здатні підтримувати нодату.
дчабоя

Прозорість альфа-діапазону ECW була введена в SDK v4 (2009). ArcGIS 10.2+ та QGIS 2.2+ підтримують його для читання (джерело: blog.hexagongeospatial.com/help-ecw-speckled-edges , що добре пояснює різницю між Nodata Pixels та Alpha Channel). Я не знаю про написання.
matt wilkie

5

ECW з 2010 року підтримує прозорість альфа, яка видаляє те, що ви називаєте "комірами". Це застаріле обмеження лише у файлах ECW v3.

Файли ECW v4 записуються автоматично всім програмним забезпеченням ERDAS з тегом 2010 року та вище, яке включає Imagine та ERMapper. Продукти сторонніх виробників, які використовують версію SDK v4, можуть підтримувати написання або звичайно читання цієї версії файлу (читання надається безкоштовно для додатків для настільних ПК). Я не знаю, чи FME 2012 оновив підтримку ECW

Примітка: Версії формату ECW сумісні назад. Якщо у вас є файл ECW v4 з визначеним альфа-діапазоном, але ви читаєте за допомогою програми, що використовує SDK v3, додатковий діапазон буде просто ігнорований. Перевірте на веб-сайті erdas.com кілька безкоштовних плагінів ECW, спеціально для вашої ліцензії ArcInfo, яка додасть підтримку ECW v4

На жаль, поширеність компресорів v3 означає, що багато людей припускають, що обмеження залишаються, і якимось чином є обмеженням форматів вейвлетів. Це, звичайно, неправда

Список літератури,


2

Існують способи маніпулювання FME 2012, щоб зняти комір. Це складний процес і надто багато набирати тут. Один з швидких способів показати, як це можна зробити, - це використовувати RasterExpressionEvaluator і вираз

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

Де MAXPIXVALUE - це параметр користувача, встановлений на максимальне значення пікселя, який слід вважати чорним. У моєму випадку це було близько 8. Вираз шукає кожен піксель і діапазон. Якщо будь-яка одна смуга має значення, менше ніж вказане MAXPIXVALUE, вона вважає, що клітинка не має даних. Якщо значення пікселя скажімо 9,8,8, піксель залишить так, як одна смуга вище вказаного значення.

У моєму сценарії я використовував вираз, щоб створити файл форми, який би точно відповідав зображенню, і вирізав оригінальні еквіваленти до файлу форм, створеного виразом.


Відмінно. Спробую це. Я підозрюю, що ця операція потребуватиме певного часу для великого набору даних.
дчабоя

Так. Дуже так. Мої набори даних працюють від 2 до 2000 екв., А верстат працює в середньому 2-48 годин.
Зак Гілберт

Я отримую помилку при спробі запустити її (ймовірно, неправильно налаштувати). Тому я замінив MAXPIXVALUE на максимальне значення, яке я хочу замінити, так (2). Тепер я не впевнений, як використовувати порти. Будь-які пропозиції?
дчабоя

Я не впевнений. Мені потрібно було б подивитися на верстат і побачити. Надішліть мені свій робочий стіл з файлом журналу від останнього запуску. Я побачу, що я можу з цим зробити.
Зак Гілберт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.