Operacje morfologiczne

Earth Engine implementuje operacje morfologiczne jako operacje skupione, w szczególności metody instancji focalMax(), focalMin(), focalMedian()focalMode() w klasie Image. (Są to skróty do bardziej ogólnego reduceNeighborhood(), które mogą przekazywać piksele w rdzeniu do dowolnego modułu redukującego z wynikiem liczbowym. Więcej informacji o zmniejszaniu liczby sąsiedztwa znajdziesz na tej stronie. Operatory morfologiczne są przydatne do wykonywania takich operacji jak erozja, rozszerzenie, otwieranie i zamykanie. Aby na przykład wykonać operację otwierania, użyj focalMin(), a następnie focalMax():

Edytor kodu (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');

Zwróć uwagę, że w poprzednim przykładzie operatorowi morfologicznemu przekazywany jest argument jądra. Do obliczeń wykorzystywane są piksele objęte elementami o wartościach innych niż 0. Argument iteracji wskazuje, ile razy ma być zastosowany operator.