Earth Engine реализует морфологические операции как фокальные операции, в частности методы экземпляра focalMax()
, focalMin()
, focalMedian()
и focalMode()
в классе Image
. (Это ярлыки для более общего метода reduceNeighborhood()
, который может вводить пиксели ядра в любой редуктор с числовым выводом. Дополнительную информацию о сокращении окрестностей см. на этой странице ). Морфологические операторы полезны для выполнения таких операций, как эрозия, расширение, открытие и закрытие. Например, чтобы выполнить операцию открытия , используйте focalMin()
а затем focalMax()
:
Редактор кода (JavaScript)
// Load a Landsat 8 image, select the NIR band, threshold, display. var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318') .select(4).gt(0.2); Map.setCenter(-122.1899, 37.5010, 13); Map.addLayer(image, {}, 'NIR threshold'); // Define a kernel. var kernel = ee.Kernel.circle({radius: 1}); // Perform an erosion followed by a dilation, display. var opened = image .focalMin({kernel: kernel, iterations: 2}) .focalMax({kernel: kernel, iterations: 2}); Map.addLayer(opened, {}, 'opened');
Обратите внимание, что в предыдущем примере морфологическому оператору предоставляется аргумент ядра. В вычислениях используются пиксели, покрытые ненулевыми элементами ядра. Аргумент итераций указывает, сколько раз следует применить оператор.