به جای تعیین منطقه ای که در آن کاهش انجام شود، می توان محله ای را نیز تعیین کرد که در آن یک کاهش دهنده اعمال شود. برای کاهش همسایگی های تصویر، از image.reduceNeighborhood()
استفاده کنید. در این حالت، کاهش در یک پنجره کشویی روی تصویر ورودی، با اندازه و شکل پنجره مشخص شده توسط ee.Kernel
رخ خواهد داد. خروجی reduceNeighborhood()
یک تصویر دیگر خواهد بود، با هر مقدار پیکسل نشان دهنده خروجی کاهش در همسایگی اطراف آن پیکسل در تصویر ورودی است. شکل 1 این نوع کاهش را نشان می دهد.

reduceNeighborhood()
، که در آن کاهنده در یک هسته اعمال می شود. برای مثال، استفاده از تصاویر برنامه ملی تصویربرداری کشاورزی (NAIP) را برای تعیین کمیت تفاوتهای چشمانداز ناشی از قطع درختان جنگلهای قرمز کالیفرنیا در نظر بگیرید. به طور خاص، از انحراف استاندارد (SD) در یک همسایگی برای نشان دادن تفاوت بافت بین ناحیه ثبت شده (جنوبی غربی تصویر در شکل 2) و ناحیه محافظت شده (NE تصویر در شکل 2) استفاده کنید. به عنوان مثال، برای به دست آوردن بافت یک تصویر شاخص گیاهی تفاوت عادی شده NAIP (NDVI)، از reduceNeighborhood()
برای محاسبه SD در محله ای که توسط یک هسته تعریف شده است استفاده کنید:
ویرایشگر کد (جاوا اسکریپت)
// 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
کولب (پایتون)
# 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
هر پیکسل با مقدار هسته غیر صفر در محاسبه گنجانده شده است. وزن هسته به طور پیش فرض استفاده می شود، اگرچه می توانید این رفتار را با آرگومان inputWeight
تغییر دهید. تصویر ورودی و خروجی reduceNeighborhood()
در شکل 2 مقایسه شده اند.


reduceNeighborhood()
با استفاده از کاهنده انحراف استاندارد.