Кольоровий баланс та публікуйте велику кількість зображень із високою роздільною здатністю у геосервері


11

У мене є велика кількість зображень RapidEye (+300 Gb), які я хочу використовувати в якості базової карти для інтернет-програми. Поки що мені вдалося служити їм ImagePyramid в геосервері, виконуючи кроки, показані в презентації під назвою "Геосервер на стероїдах". Проблема полягає в тому, що я не зміг виконати належний колірний баланс, тому при перегляді всього набору даних мозаїка виглядає дуже погано, але коли я збільшую масштаб, вона стає кращою (малюнки нижче).

Мій процес:

  1. Перетворіть усі зображення у 8bit, epsg 4326, кубічну інтерполяцію за допомогою gdal
  2. Створити віртуальний растр gdal з усіма зображеннями (gdalbuildvrt)
  3. Створіть піраміду зображення (gdal_retile зі стисненням та геотифною обробкою) та опублікуйте на геосервері (використовуючи розтяжку гістограми у стилі шару)

Будь-які поради, як поліпшити процес і покращити колірний баланс?

введіть тут опис зображення введіть тут опис зображення введіть тут опис зображення

Відповіді:


6

Я вірю, що я це отримав.

Я змусив середнє значення + -2 стандартної розтяжки гістограми в кожному зображенні RapidEye під час перетворення на 8 біт.

Я використовував сценарій python, щоб ідентифікувати зображення min, max, medium та SD. Потім я встановив значення середнього - 2SD (або зображення хв, залежно від того, що було вище) до 2, а середнє + 2SD (або макс.) До 254. І просто для того, щоб бути безпечним, початкове значення нуля на зображенні було встановлено на 1 і 2 ^ 16 встановлено на 255. NoData було встановлено на 0.

Це вектори функцій передачі:

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

Нижче наведено кілька знімків екрана. Проблеми, які я маю зараз вирішити

  1. Видаліть чорну межу навколо зображенняPyramid
  2. Отримайте кращого вигляду зображення при повному масштабі. Зараз це схоже на старий телевізор, налаштований на неправильний канал

введіть тут опис зображення введіть тут опис зображення введіть тут опис зображення

Редагувати
Я зараз розмістив код на GitHub. Минув час, коли я ним користувався. Код трохи заплутаний, як і сховище. Але треба все-таки працювати.
https://github.com/dvictori/rapideye_hist2sd


Браво, сер. Ви отримуєте за це 10 з 10. Що стосується вашої другої турботи (краще виглядати при повному масштабі), чи можете ви просто використовувати низькозернисті зображення, наприклад LandSat або ASTER? Я думаю, що більш масштабні знімки виглядатимуть краще при зменшенні масштабу. ..як для першої турботи я все ще намагаюся зламати цей горіх. Я хотів би побачити вичерпну інформацію про те, як ви це зробили, включаючи сценарій py, якщо ви готові поділитися цим. Будь-який шанс ви плануєте представити свій підхід де завгодно?
elrobis

Я не планував представляти це чи писати записи. Але тепер, коли ви згадали, хто знає. Будь-які пропозиції щодо відповідного засобу для представлення цього? Що стосується py-скрипту, ви можете завантажити його з dropbox.com/s/1hfobfp9ymtku2n/rapideye_hist2sd.py Однак остерігайтеся. Я вважаю себе шаленим програмістом і впевнений, що моя програма може використати багато вдосконалень.
Даніель

2
Я змінив посилання для завантаження з вищевказаного коментаря. Якщо ви хочете переглянути використаний нами пітон код, можете завантажити його з goo.gl/ePEc7G
Daniel

Дякую @Daniel Я веду щоденник, де публікую інструкції для таких матеріалів. Якщо я натрапляю на щось, що було непросто, і в чому я не могла знайти великої допомоги в Інтернеті, я з кількох причин зроблю допис у блозі. По-перше, я припускаю, що мені потрібно буде повторити завдання колись, тому, якщо я об'єднаю кроки в допис, то я згодом їх легко перегляну. По-друге, я думаю, що завжди є шанс, що хтось захоче зробити щось подібне, і вони можуть отримати користь від посади. Те, що ви тут зробили, дуже варте блогу, навіть якщо це ваше єдине повідомлення на деякий час. :)
elrobis

Це дивовижна ідея, і я намагаюся адаптувати її для меншого кадру, 3-смугової камери, яка переходить від 8 біт до 8 біт, але у мене виникають проблеми з її реалізацією. Як я повинен спрямовувати каталог вхідних зображень до цього сценарію? Звідки їх дзвонять? Я здогадуюсь, що це все повинно працювати через геосервер, але чи можу я це розірвати та запустити самостійно?
Уес

4

Даніеле, це образи із самих різних сезонів? Або час доби? Якщо вони різні пори року, то гарний колірний баланс може бути досить важким. Але якщо вони різні часи дня, то застосування корекції кута сонця може помітно допомогти. Гарним наближенням першого кута для кута сонця є множення пікселів на 1,0 / cos (кут_ос_сун_від_директ__ вище). Тож ніяких налаштувань, якщо сонце прямо вище, збільшується до ... ну нескінченності, коли ви наближаєтесь до світанку / сутінків.

У минулому я мав погані результати, використовуючи зіставлення гістограми між сценами на перекриваються регіонах для збирання великих мозаїк, оскільки у вас є дивні дрейфуючі ефекти по мозаїці. Я думаю, що більш корисним підходом може бути якась гістограма, яка відповідає цільовому базовому кольоровому зображенню (можливо, приваблива мозаїка ландшафту місцевості). Мене також цікавить, як вирішити цю проблему. Чарлі Лойд у MapBox теж може мати думки.


Відверто, образи здебільшого із сухого сезону, коли хмарний покрив низький. Але є зображення різних місяців, наприклад, серпень, листопад тощо. Зараз я намагаюся розділити зображення на невеликі блоки та зробити мозаїку для кожного. Дасть вам знати, як це виходить. Я також написав сценарій python, щоб виконати збіг CDF, і він працює чудово (не чудово), коли у мене є невелика кількість зображень (20), але коли я потрапляю до великої кількості, одне із зображень має мати значення поза моїми референтний діапазон зображень, а потім перестають працювати. Можливо, слід продумати кращий спосіб вибору еталонного зображення.
Даніель

0

Я іноді використовував пов'язувач зображень OSSIM зі збігом гістограми для створення мозаїки, збалансованої за кольором. Навчальний посібник для графічних зображень дає певний приклад http://download.osgeo.org/ossim/docs/pdfs/ImageLinker_Tutorial.pdf Однак, Linker Image не підтримується активно, і я не знаю, чи він більше працює. Ossim geocell - це поточна програма, але користувачів на це не так багато. Я пам’ятаю, що для досягнення гарного результату я попередньо обробляв свої сцени Landsat одну за одною за допомогою OpenEV, застосовуючи деякий розтяг LUT, щоб зображення мали візуально приблизно однаковий вигляд. Тоді OSSIM було простіше зробити остаточну відповідність. Кінцевий продукт виглядав так само добре, як і той, який я зробив за допомогою мозаїчної утиліти ER Mapper.

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