ee.Image.subtract
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Soustrait la deuxième valeur de la première pour chaque paire de bandes correspondante dans image1 et image2. Si image1 ou image2 ne comporte qu'une seule bande, elle est utilisée pour toutes les bandes de l'autre image. Si les images ont le même nombre de bandes, mais pas les mêmes noms, elles sont utilisées par paires dans l'ordre naturel. Les bandes de sortie sont nommées d'après la plus longue des deux entrées ou, si elles sont de même longueur, dans l'ordre de l'image 1. Le type des pixels de sortie est l'union des types d'entrée.
Utilisation | Renvoie |
---|
Image.subtract(image2) | Image |
Argument | Type | Détails |
---|
ceci : image1 | Image | Image à partir de laquelle les bandes de l'opérande de gauche sont extraites. |
image2 | Image | Image à partir de laquelle les bandes de l'opérande de droite sont extraites. |
Exemples
Éditeur de code (JavaScript)
// A Sentinel-2 surface reflectance image.
var img = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG');
// Subset two image bands and display them on the map.
var swir1 = img.select('B11');
var swir2 = img.select('B12');
Map.setCenter(-122.276, 37.456, 12);
Map.addLayer(swir1, {min: 0, max: 3000}, 'swir1');
Map.addLayer(swir2, {min: 0, max: 3000}, 'swir2');
// The following examples demonstrate ee.Image arithmetic methods using two
// single-band ee.Image inputs.
var addition = swir1.add(swir2);
Map.addLayer(addition, {min: 100, max: 6000}, 'addition');
var subtraction = swir1.subtract(swir2);
Map.addLayer(subtraction, {min: 0, max: 1500}, 'subtraction');
var multiplication = swir1.multiply(swir2);
Map.addLayer(multiplication, {min: 1.9e5, max: 9.4e6}, 'multiplication');
var division = swir1.divide(swir2);
Map.addLayer(division, {min: 0, max: 3}, 'division');
var remainder = swir1.mod(swir2);
Map.addLayer(remainder, {min: 0, max: 1500}, 'remainder');
// If a number input is provided as the second argument, it will automatically
// be promoted to an ee.Image object, a convenient shorthand for constants.
var exponent = swir1.pow(3);
Map.addLayer(exponent, {min: 0, max: 2e10}, 'exponent');
Configuration de Python
Consultez la page
Environnement Python pour en savoir plus sur l'API Python et sur l'utilisation de geemap
pour le développement interactif.
import ee
import geemap.core as geemap
Colab (Python)
# A Sentinel-2 surface reflectance image.
img = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG')
# Subset two image bands and display them on the map.
swir_1 = img.select('B11')
swir_2 = img.select('B12')
m = geemap.Map()
m.set_center(-122.276, 37.456, 12)
m.add_layer(swir_1, {'min': 0, 'max': 3000}, 'swir_1')
m.add_layer(swir_2, {'min': 0, 'max': 3000}, 'swir_2')
# The following examples demonstrate ee.Image arithmetic methods using two
# single-band ee.Image inputs.
addition = swir_1.add(swir_2)
m.add_layer(addition, {'min': 100, 'max': 6000}, 'addition')
subtraction = swir_1.subtract(swir_2)
m.add_layer(subtraction, {'min': 0, 'max': 1500}, 'subtraction')
multiplication = swir_1.multiply(swir_2)
m.add_layer(multiplication, {'min': 1.9e5, 'max': 9.4e6}, 'multiplication')
division = swir_1.divide(swir_2)
m.add_layer(division, {'min': 0, 'max': 3}, 'division')
remainder = swir_1.mod(swir_2)
m.add_layer(remainder, {'min': 0, 'max': 1500}, 'remainder')
# If a number input is provided as the second argument, it will automatically
# be promoted to an ee.Image object, a convenient shorthand for constants.
exponent = swir_1.pow(3)
m.add_layer(exponent, {'min': 0, 'max': 2e10}, 'exponent')
m
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[null,null,["Dernière mise à jour le 2025/07/26 (UTC)."],[[["\u003cp\u003e\u003ccode\u003esubtract()\u003c/code\u003e subtracts the pixel values of two images, band-by-band.\u003c/p\u003e\n"],["\u003cp\u003eIt handles single-band images and multi-band images with potentially different band names.\u003c/p\u003e\n"],["\u003cp\u003eOutput band names and pixel type are determined based on the input images.\u003c/p\u003e\n"],["\u003cp\u003eThe function returns a new \u003ccode\u003eImage\u003c/code\u003e object representing the result of the subtraction.\u003c/p\u003e\n"],["\u003cp\u003eThis method is useful for various image processing tasks like change detection or calculating spectral indices.\u003c/p\u003e\n"]]],["The `subtract` method computes the difference between two images (`image1` and `image2`). It subtracts corresponding bands pairwise. If one image has a single band, it's subtracted from all bands of the other image. When images have different band names but the same count, they're matched in order. Output bands are named after the longer input's band names, with the pixel type as a union of the input types. The code also gives examples of usage with `add`, `multiply`, `divide`, `mod`, and `pow`.\n"],null,["# ee.Image.subtract\n\nSubtracts the second value from the first for each matched pair of bands in image1 and image2. If either image1 or image2 has only 1 band, then it is used against all the bands in the other image. If the images have the same number of bands, but not the same names, they're used pairwise in the natural order. The output bands are named for the longer of the two inputs, or if they're equal in length, in image1's order. The type of the output pixels is the union of the input types.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|--------------------------|---------|\n| Image.subtract`(image2)` | Image |\n\n| Argument | Type | Details |\n|----------------|-------|---------------------------------------------------------|\n| this: `image1` | Image | The image from which the left operand bands are taken. |\n| `image2` | Image | The image from which the right operand bands are taken. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// A Sentinel-2 surface reflectance image.\nvar img = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG');\n\n// Subset two image bands and display them on the map.\nvar swir1 = img.select('B11');\nvar swir2 = img.select('B12');\nMap.setCenter(-122.276, 37.456, 12);\nMap.addLayer(swir1, {min: 0, max: 3000}, 'swir1');\nMap.addLayer(swir2, {min: 0, max: 3000}, 'swir2');\n\n// The following examples demonstrate ee.Image arithmetic methods using two\n// single-band ee.Image inputs.\nvar addition = swir1.add(swir2);\nMap.addLayer(addition, {min: 100, max: 6000}, 'addition');\n\nvar subtraction = swir1.subtract(swir2);\nMap.addLayer(subtraction, {min: 0, max: 1500}, 'subtraction');\n\nvar multiplication = swir1.multiply(swir2);\nMap.addLayer(multiplication, {min: 1.9e5, max: 9.4e6}, 'multiplication');\n\nvar division = swir1.divide(swir2);\nMap.addLayer(division, {min: 0, max: 3}, 'division');\n\nvar remainder = swir1.mod(swir2);\nMap.addLayer(remainder, {min: 0, max: 1500}, 'remainder');\n\n// If a number input is provided as the second argument, it will automatically\n// be promoted to an ee.Image object, a convenient shorthand for constants.\nvar exponent = swir1.pow(3);\nMap.addLayer(exponent, {min: 0, max: 2e10}, 'exponent');\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# A Sentinel-2 surface reflectance image.\nimg = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG')\n\n# Subset two image bands and display them on the map.\nswir_1 = img.select('B11')\nswir_2 = img.select('B12')\nm = geemap.Map()\nm.set_center(-122.276, 37.456, 12)\nm.add_layer(swir_1, {'min': 0, 'max': 3000}, 'swir_1')\nm.add_layer(swir_2, {'min': 0, 'max': 3000}, 'swir_2')\n\n# The following examples demonstrate ee.Image arithmetic methods using two\n# single-band ee.Image inputs.\naddition = swir_1.add(swir_2)\nm.add_layer(addition, {'min': 100, 'max': 6000}, 'addition')\n\nsubtraction = swir_1.subtract(swir_2)\nm.add_layer(subtraction, {'min': 0, 'max': 1500}, 'subtraction')\n\nmultiplication = swir_1.multiply(swir_2)\nm.add_layer(multiplication, {'min': 1.9e5, 'max': 9.4e6}, 'multiplication')\n\ndivision = swir_1.divide(swir_2)\nm.add_layer(division, {'min': 0, 'max': 3}, 'division')\n\nremainder = swir_1.mod(swir_2)\nm.add_layer(remainder, {'min': 0, 'max': 1500}, 'remainder')\n\n# If a number input is provided as the second argument, it will automatically\n# be promoted to an ee.Image object, a convenient shorthand for constants.\nexponent = swir_1.pow(3)\nm.add_layer(exponent, {'min': 0, 'max': 2e10}, 'exponent')\nm\n```"]]