การเปลี่ยนรูปแบบสเปกตรัม

การเปลี่ยนรูปแบบเชิงสเปกตรัมใน Earth Engine มีด้วยกันหลายวิธี ซึ่งรวมถึงเมธอดอินสแตนซ์ในรูปภาพ เช่น normalizedDifference(), unmix(), rgbToHsv() และ hsvToRgb()

การเพิ่มความคมชัดของภาพ

การปรับความคมชัดของภาพแพนจะปรับปรุงความละเอียดของภาพหลายย่านความถี่ผ่านการปรับปรุงที่ได้จากภาพแพนโครมาติกที่สอดคล้องกันซึ่งมีความละเอียดยิ่งขึ้น วิธี rgbToHsv() และ hsvToRgb() มีประโยชน์สำหรับการเพิ่มความคมชัดในการแพน

เครื่องมือแก้ไขโค้ด (JavaScript)

// Load a Landsat 8 top-of-atmosphere reflectance image.
var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318');
Map.addLayer(
    image,
    {bands: ['B4', 'B3', 'B2'], min: 0, max: 0.25, gamma: [1.1, 1.1, 1]},
    'rgb');

// Convert the RGB bands to the HSV color space.
var hsv = image.select(['B4', 'B3', 'B2']).rgbToHsv();

// Swap in the panchromatic band and convert back to RGB.
var sharpened = ee.Image.cat([
  hsv.select('hue'), hsv.select('saturation'), image.select('B8')
]).hsvToRgb();

// Display the pan-sharpened result.
Map.setCenter(-122.44829, 37.76664, 13);
Map.addLayer(sharpened,
             {min: 0, max: 0.25, gamma: [1.3, 1.3, 1.3]},
             'pan-sharpened');

การตั้งค่า Python

ดูข้อมูลเกี่ยวกับ Python API และการใช้ geemap สําหรับการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้า สภาพแวดล้อม Python

import ee
import geemap.core as geemap

Colab (Python)

# Load a Landsat 8 top-of-atmosphere reflectance image.
image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318')

# Convert the RGB bands to the HSV color space.
hsv = image.select(['B4', 'B3', 'B2']).rgbToHsv()

# Swap in the panchromatic band and convert back to RGB.
sharpened = ee.Image.cat(
    [hsv.select('hue'), hsv.select('saturation'), image.select('B8')]
).hsvToRgb()

# Define a map centered on San Francisco, California.
map_sharpened = geemap.Map(center=[37.76664, -122.44829], zoom=13)

# Add the image layers to the map and display it.
map_sharpened.add_layer(
    image,
    {
        'bands': ['B4', 'B3', 'B2'],
        'min': 0,
        'max': 0.25,
        'gamma': [1.1, 1.1, 1],
    },
    'rgb',
)
map_sharpened.add_layer(
    sharpened,
    {'min': 0, 'max': 0.25, 'gamma': [1.3, 1.3, 1.3]},
    'pan-sharpened',
)
display(map_sharpened)

การแยกสเปกตรัม

ระบบใช้การแยกสเปกตรัมใน Earth Engine เป็นเมธอด image.unmix() (ดูวิธีการที่ยืดหยุ่นมากขึ้นได้ในหน้าการเปลี่ยนรูปแบบอาร์เรย์) ต่อไปนี้คือตัวอย่างการแยกองค์ประกอบของ Landsat 5 ด้วยองค์ประกอบปลายทางที่เป็นเมือง พืชพรรณ และน้ำที่กำหนดไว้ล่วงหน้า

เครื่องมือแก้ไขโค้ด (JavaScript)

// Load a Landsat 5 image and select the bands we want to unmix.
var bands = ['B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7'];
var image = ee.Image('LANDSAT/LT05/C02/T1/LT05_044034_20080214')
  .select(bands);
Map.setCenter(-122.1899, 37.5010, 10); // San Francisco Bay
Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], min: 0, max: 128}, 'image');

// Define spectral endmembers.
var urban = [88, 42, 48, 38, 86, 115, 59];
var veg = [50, 21, 20, 35, 50, 110, 23];
var water = [51, 20, 14, 9, 7, 116, 4];

// Unmix the image.
var fractions = image.unmix([urban, veg, water]);
Map.addLayer(fractions, {}, 'unmixed');

การตั้งค่า Python

ดูข้อมูลเกี่ยวกับ Python API และการใช้ geemap สําหรับการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้า สภาพแวดล้อม Python

import ee
import geemap.core as geemap

Colab (Python)

# Load a Landsat 5 image and select the bands we want to unmix.
bands = ['B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7']
image = ee.Image('LANDSAT/LT05/C02/T1/LT05_044034_20080214').select(bands)

# Define spectral endmembers.
urban = [88, 42, 48, 38, 86, 115, 59]
veg = [50, 21, 20, 35, 50, 110, 23]
water = [51, 20, 14, 9, 7, 116, 4]

# Unmix the image.
fractions = image.unmix([urban, veg, water])

# Define a map centered on San Francisco Bay.
map_fractions = geemap.Map(center=[37.5010, -122.1899], zoom=10)

# Add the image layers to the map and display it.
map_fractions.add_layer(
    image, {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 128}, 'image'
)
map_fractions.add_layer(fractions, None, 'unmixed')
display(map_fractions)
unmixed_sf
รูปที่ 1 ภาพ Landsat 5 ที่ไม่ได้แยกแยะเป็นเศษส่วนของเมือง (สีแดง) พืชพันธุ์ (สีเขียว) และน้ำ (สีน้ำเงิน) บริเวณอ่าวซานฟรานซิสโก รัฐแคลิฟอร์เนีย สหรัฐอเมริกา