Biến đổi phổ

Có một số phương thức biến đổi phổ trong Earth Engine. Các phương thức này bao gồm các phương thức thực thể trên hình ảnh như normalizedDifference(), unmix(), rgbToHsv()hsvToRgb().

Làm sắc nét theo chiều dọc

Tính năng làm sắc nét toàn cảnh cải thiện độ phân giải của hình ảnh đa băng thông thông qua tính năng nâng cao do hình ảnh toàn sắc tương ứng có độ phân giải tốt hơn cung cấp. Phương thức rgbToHsv()hsvToRgb() hữu ích cho việc làm sắc nét khi kéo.

Trình soạn thảo mã (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');

Thiết lập Python

Hãy xem trang Môi trường Python để biết thông tin về API Python và cách sử dụng geemap để phát triển tương tác.

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)

Phân tách phổ

Tính năng phân tách phổ được triển khai trong Earth Engine dưới dạng phương thức image.unmix(). (Để biết các phương thức linh hoạt hơn, hãy xem trang Chuyển đổi mảng). Sau đây là ví dụ về việc tách riêng Landsat 5 với các thành phần cuối là đô thị, thực vật và nước được xác định trước:

Trình soạn thảo mã (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');

Thiết lập Python

Hãy xem trang Môi trường Python để biết thông tin về API Python và cách sử dụng geemap để phát triển tương tác.

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
Hình 1. Hình ảnh Landsat 5 chưa được pha trộn thành các phân đoạn đô thị (màu đỏ), thực vật (màu xanh lục) và nước (màu xanh dương). Khu vực vịnh San Francisco, California, Hoa Kỳ.