Azaltma işleminin uygulanacağı bir bölge belirtmek yerine, azaltıcının uygulanacağı bir mahalle de belirtebilirsiniz. Resim mahallelerini azaltmak için image.reduceNeighborhood()
simgesini kullanın. Bu durumda, azaltma işlemi, giriş resminin üzerinde kaydırılabilir bir pencerede gerçekleşir. Pencere boyutu ve şekli bir ee.Kernel
ile belirtilir. reduceNeighborhood()
işlevinin çıkışı, her piksel değerinin giriş görüntüsünde ilgili piksel çevresindeki azaltma işleminin çıkışını temsil ettiği başka bir görüntü olacaktır. Şekil 1'de bu tür bir azaltma gösterilmektedir.

reduceNeighborhood()
'ü gösteren resim.Örneğin, Kaliforniya sekoya ormanlarında yapılan ağaç kesiminden kaynaklanan peyzaj farklılıklarını ölçmek için Ulusal Tarım Görüntüleri Programı (NAIP) görüntülerini kullanabilirsiniz.
Özellikle, günlük kaydı yapılan alan (Şekil 2'de resmin güneybatısı) ile korunan alan (Şekil 2'de resmin kuzeydoğusu) arasındaki doku farkını temsil etmek için bir mahalledeki standart sapmayı (SD) kullanın. Örneğin, NAIP Normalleştirilmiş Fark Bitki Örtüsü İndeksi (NDVI) resminin dokusunu almak için bir çekirdek tarafından tanımlanan bir mahallede SD'yi hesaplamak üzere reduceNeighborhood()
'ü kullanın:
Kod Düzenleyici (JavaScript)
// Define a region in the redwood forest. var redwoods = ee.Geometry.Rectangle(-124.0665, 41.0739, -123.934, 41.2029); // Load input NAIP imagery and build a mosaic. var naipCollection = ee.ImageCollection('USDA/NAIP/DOQQ') .filterBounds(redwoods) .filterDate('2012-01-01', '2012-12-31'); var naip = naipCollection.mosaic(); // Compute NDVI from the NAIP imagery. var naipNDVI = naip.normalizedDifference(['N', 'R']); // Compute standard deviation (SD) as texture of the NDVI. var texture = naipNDVI.reduceNeighborhood({ reducer: ee.Reducer.stdDev(), kernel: ee.Kernel.circle(7), }); // Display the results. Map.centerObject(redwoods, 12); Map.addLayer(naip, {}, 'NAIP input imagery'); Map.addLayer(naipNDVI, {min: -1, max: 1, palette: ['FF0000', '00FF00']}, 'NDVI'); Map.addLayer(texture, {min: 0, max: 0.3}, 'SD of NDVI');
import ee import geemap.core as geemap
Colab (Python)
# Define a region in the redwood forest. redwoods = ee.Geometry.Rectangle(-124.0665, 41.0739, -123.934, 41.2029) # Load input NAIP imagery and build a mosaic. naip_collection = ( ee.ImageCollection('USDA/NAIP/DOQQ') .filterBounds(redwoods) .filterDate('2012-01-01', '2012-12-31') ) naip = naip_collection.mosaic() # Compute NDVI from the NAIP imagery. naip_ndvi = naip.normalizedDifference(['N', 'R']) # Compute standard deviation (SD) as texture of the NDVI. texture = naip_ndvi.reduceNeighborhood( reducer=ee.Reducer.stdDev(), kernel=ee.Kernel.circle(7) ) # Display the results. m = geemap.Map() m.center_object(redwoods, 12) m.add_layer(naip, {}, 'NAIP input imagery') m.add_layer( naip_ndvi, {'min': -1, 'max': 1, 'palette': ['FF0000', '00FF00']}, 'NDVI' ) m.add_layer(texture, {'min': 0, 'max': 0.3}, 'SD of NDVI') m
Çekirdek değeri sıfır olmayan tüm pikseller hesaplamaya dahil edilir. Çekirdek ağırlıkları varsayılan olarak kullanılır ancak bu davranışı inputWeight
bağımsız değişkeniyle değiştirebilirsiniz. Giriş resmi ve reduceNeighborhood()
çıkışı Şekil 2'de karşılaştırılmıştır.


reduceNeighborhood()
standart sapma azaltıcı kullanarak çıkış elde edin.