Anuncio: Todos los proyectos no comerciales registrados para usar Earth Engine antes del
15 de abril de 2025 deben
verificar su elegibilidad no comercial para mantener el acceso a Earth Engine.
ee.Image.subtract
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Resta el segundo valor del primero para cada par de bandas coincidentes en la imagen1 y la imagen2. Si la imagen 1 o la imagen 2 tienen solo 1 banda, se usa en comparación con todas las bandas de la otra imagen. Si las imágenes tienen la misma cantidad de bandas, pero no los mismos nombres, se usan por pares en el orden natural. Las bandas de salida se nombran según la más larga de las dos entradas o, si tienen la misma longitud, según el orden de la imagen 1. El tipo de los píxeles de salida es la unión de los tipos de entrada.
Uso | Muestra |
---|
Image.subtract(image2) | Imagen |
Argumento | Tipo | Detalles |
---|
esta: image1 | Imagen | Es la imagen de la que se toman las bandas del operando izquierdo. |
image2 | Imagen | Es la imagen de la que se toman las bandas del operando derecho. |
Ejemplos
Editor de código (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');
Configuración de Python
Consulta la página
Entorno de Python para obtener información sobre la API de Python y el uso de geemap
para el desarrollo interactivo.
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
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC)
[null,null,["Última actualización: 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```"]]