इमेज नेबरहुड के आंकड़े

जिस क्षेत्र में डेटा कम करना है उसे बताने के बजाय, यह भी बताया जा सकता है कि किस इलाके में डेटा कम करना है. इमेज के आस-पास की इमेज की संख्या कम करने के लिए, image.reduceNeighborhood() का इस्तेमाल करें. इस मामले में, इनपुट इमेज पर स्लाइड करने वाली विंडो में घटोतरी होगी. विंडो का साइज़ और आकार, ee.Kernel से तय किया जाएगा. reduceNeighborhood() का आउटपुट एक और इमेज होगी. इसमें हर पिक्सल की वैल्यू, इनपुट इमेज में उस पिक्सल के आस-पास के पिक्सल की संख्या में कमी के आउटपुट को दिखाती है. पहली इमेज में, इस तरह के कम होने की जानकारी दी गई है.

reduceNeighborhood डायग्राम
पहली इमेज. reduceNeighborhood() की इमेज, जिसमें रिड्यूसर को एक केर्नल में लागू किया गया है.

उदाहरण के लिए, कैलिफ़ोर्निया के रेडवुड वन में लॉगिंग की वजह से, लैंडस्केप में हुए बदलावों की संख्या का आकलन करने के लिए, नेशनल एग्रीकल्चर इमेजरी प्रोग्राम (एनएआईपी) की इमेज का इस्तेमाल करें. खास तौर पर, किसी इलाके में स्टैंडर्ड डेविएशन (एसडी) का इस्तेमाल करके, लॉग किए गए इलाके (पहले चित्र में इमेज के दक्षिण-पश्चिम हिस्से) और संरक्षित इलाके (पहले चित्र में इमेज के उत्तर-पूर्व हिस्से) के बीच टेक्सचर में अंतर दिखाएं. उदाहरण के लिए, NAIP नॉर्मलाइज़्ड डिफ़रेंस वेजिटेशन इंडेक्स (एनडीवीआई) इमेज का टेक्स्चर पाने के लिए, किसी केर्नल से तय किए गए नेबरहुड में एसडी का हिसाब लगाने के लिए reduceNeighborhood() का इस्तेमाल करें:

कोड एडिटर (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');

Python सेटअप

Python API के बारे में जानकारी पाने और इंटरैक्टिव डेवलपमेंट के लिए geemap का इस्तेमाल करने के लिए, Python एनवायरमेंट पेज देखें.

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

गिनती में, ऐसे सभी पिक्सल शामिल किए जाते हैं जिनकी कर्नेल वैल्यू शून्य से ज़्यादा हो. कर्नल के वज़न का इस्तेमाल डिफ़ॉल्ट रूप से किया जाता है. हालांकि, inputWeight आर्ग्युमेंट की मदद से, इस व्यवहार को बदला जा सकता है. दूसरी इमेज में, इनपुट इमेज और reduceNeighborhood() आउटपुट की तुलना की गई है.

reduceNeighborhood इनपुट
दूसरी इमेज. नॉर्थ कैलिफ़ोर्निया के तट की NAIP इमेजरी.
reduceNeighborhood output
दूसरी इमेज. reduceNeighborhood() स्टैंडर्ड डिविएशन रिड्यूसर का इस्तेमाल करके आउटपुट
.