Паншарпенинг данных Landsat 8 средствами свободного ПО
Здесь будет описано (если будет), как можно сделать паншарпенинг данных Landsat 8 с помощью инструментов различного свободного ПО.
По мотивам этой темы на форуме.
Что такое "паншарпенинг"?
Паншарпенинг (от англ. "panchromatic sharpening" или "pan sharpening") — процесс, позволяющий получить из панхроматического и мультиспектрального каналов двух продуктов одно изображение. Панхроматический канал, как правило, имеет более высокое пространственное разрешение, мультиспектральный — более низкое. В результате слияния каналов получается цветное изображение с высоким разрешением [1].
Теория о методе, когда впервые появился, кто создатель - мне кажется, это лишнее (А.М.)
Методы паншарпенинга - лучше кратко (А.М.)
- brovey
- IHS
- PCA
Кратко о Landsat 8
Тестовые данные
В качестве тестовых данных используется сцена Landsat 8 от 29.06.2013 (Entity ID: LC81710172013180LGN00). Получить снимки можно с помощью [EarthExplorer http://earthexplorer.usgs.gov/]. На вкладке "Search Criteria" в графе "Path/Row" вводим соответственно "170" для "Path" и "17" для "Row", в графе "Data Range" для "Search from:" и "to:" вписываем дату снимка "06/29/2013" ; затем на вкладке "Data Sets" выбираем "Landsat Archive" -> "L8 OLI/TIRS"; выбор закончен, жмём "Results>>". На странице результатов жмём на иконку с зелёной стрелкой "Download Options", в появившемся окне выбираем нижний вариант (Level 1 GeoTIFF Data Product (821.9 MB)) -> "Select Download Option" -> "Download". Внимание: загружаемый архив весит около 822 Мб, а в разархирированном виде сцена занимает на диске около 2 Гб.
Условия выполнения
Данные Landsat 8 поставляются в 16-битном растровом формате (Tiff). Модуль GRASS i.pansharpen работает пока только с 8-битными форматами данных. Поэтому для получения растров повышенного разрешения необходимо сначала преобразовать входные данные в 8-битовый формат. В GDAL ресемплинг и пересчет каналов преобразованием Бровея осуществляется с 16-битными данными. Преобразование в 8-битные происходит непосредственно перед созданием цветного композита.
Это точно? Или речь идет о каких-то конкретных алгоритмах? (Просто я постоянно работаю с 16-битными данными и никаких проблем не встречал -- КД) (Действительно не совсем так. В GDAL ресемплинг и пересчет каналов преобразованием Бровея осуществляется с 16-битными данными. Преобразование в 8-битные происходит непосредственно перед созданием цветного композита -- Strix) Моя ошибка. Модуль работает только 8-битными данными -- rhot
Паншарпенинг средствами свободном ПО
GRASS
- r.rescale.eq
- i.pansharpen
GDAL
- допиленный gdal_calc.py + gdal_contrast_stretch (dans-gdal-scripts)
Ресемплинг каналов с разрешением 30 м/пиксель до разрешения 15 м/пиксель (кроме bilinear возможные методы: ear, cubic, cubicspline, lanczos, average, mode) (-что и в каких случаях лучше? -- Strix)
gdalwarp -tr 15 15 -r bilinear r.tif r_res.tif gdalwarp -tr 15 15 -r bilinear g.tif g_res.tif gdalwarp -tr 15 15 -r bilinear b.tif b_res.tif
Паншарпенинг отдельных каналов преобразованием Бровея
gdal_calc.py -A r_res.tif -B g_res.tif -C b_res.tif -D pan.tif --outfile=r_res_pan.tif --calc="(D*A)/(A+B+C)" gdal_calc.py -A r_res.tif -B g_res.tif -C b_res.tif -D pan.tif --outfile=g_res_pan.tif --calc="(D*B)/(A+B+C)" gdal_calc.py -A r_res.tif -B g_res.tif -C b_res.tif -D pan.tif --outfile=b_res_pan.tif --calc="(D*C)/(A+B+C)"
Преобразование 16-битных каналов в 8-битные с коррекцией гистограммы
gdal_contrast_stretch -histeq 100 r_res_pan.tif r_res_pan8.tif gdal_contrast_stretch -histeq 100 g_res_pan.tif g_res_pan8.tif gdal_contrast_stretch -histeq 100 b_res_pan.tif b_res_pan8.tif
Сборка отдельных каналов в rgb-композит
gdal_merge.py -separate r_res_pan8.tif g_res_pan8.tif b_res_pan8.tif -o rgb.tif
Orfeo Toolbox / Monteverdi
http://live.osgeo.org/ru/overview/otb_overview.html
http://www.orfeo-toolbox.org/Applications/Pansharpening.html otbcli_Pansharpening