AI-generated Key Takeaways
-
Earth Engine uses focal operations like
focalMax()
,focalMin()
,focalMedian()
, andfocalMode()
to implement morphological operations for image processing. -
Morphological operations, such as erosion, dilation, opening, and closing, can be performed using these focal operations to modify image structures.
-
Users can define kernels to specify the shape and size of the neighborhood used in the operations and control the number of times the operation is applied with the iterations argument.
-
An opening operation, for example, can be achieved by applying
focalMin()
followed byfocalMax()
with a defined kernel.
Earth Engine implements morphological operations as focal operations, specifically
focalMax()
, focalMin()
, focalMedian()
, and
focalMode()
instance methods in the Image
class. (These are
shortcuts for the more general reduceNeighborhood()
, which can input the
pixels in a kernel to any reducer with a numeric output. See
this page for more information on reducing
neighborhoods). The morphological operators are useful for performing operations such
as erosion, dilation, opening and closing. For example, to perform an
opening operation,
use focalMin()
followed by focalMax()
:
Code Editor (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');
Note that in the previous example, a kernel argument is provided to the morphological operator. The pixels covered by non-zero elements of the kernel are used in the computation. The iterations argument indicates how many times to apply the operator.