การไล่ระดับสี

คุณสามารถคํานวณการไล่ระดับสีของแถบแต่ละแถบของรูปภาพได้ด้วย image.gradient() เช่น โค้ดต่อไปนี้จะคํานวณขนาดและทิศทางของเส้นลาดของแถบภาพขาวดําของ Landsat 8

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

// Load a Landsat 8 image and select the panchromatic band.
var image = ee.Image('LANDSAT/LC08/C02/T1/LC08_044034_20140318').select('B8');

// Compute the image gradient in the X and Y directions.
var xyGrad = image.gradient();

// Compute the magnitude of the gradient.
var gradient = xyGrad.select('x').pow(2)
          .add(xyGrad.select('y').pow(2)).sqrt();

// Compute the direction of the gradient.
var direction = xyGrad.select('y').atan2(xyGrad.select('x'));

// Display the results.
Map.setCenter(-122.054, 37.7295, 10);
Map.addLayer(direction, {min: -2, max: 2, format: 'png'}, 'direction');
Map.addLayer(gradient, {min: -7, max: 7, format: 'png'}, 'gradient');

โปรดทราบว่า gradient() จะแสดงผล 2 แถบ ได้แก่ การไล่ระดับสีในแนว X และการไล่ระดับสีในแนว Y ดังที่แสดงในตัวอย่าง คุณสามารถรวม 2 ทิศทางเข้าด้วยกันเพื่อรับขนาดและทิศทางของเส้นลาด ผลลัพธ์ควรมีลักษณะดังรูปที่ 1

gradient_sf
รูปที่ 1 ระดับความลาดชันของภาพขาวดำสำหรับภาพ Landsat 8 เหนืออ่าวซานฟรานซิสโก รัฐแคลิฟอร์เนีย สหรัฐอเมริกา