Disponible con una licencia de Spatial Analyst.
Resumen
Agrupa en segmentos los píxeles adyacentes que tienen características espectrales similares.
Uso
La entrada puede ser cualquier ráster compatible con Esri, con cualquier profundidad de bits válida.
El parámetro Índice de banda es una lista de tres bandas separadas por un delimitador de espacios.
Para obtener resultados óptimos, utilice la pestaña Simbología en las propiedades de dataset para extender de forma interactiva el Ráster de entrada para que las entidades que desea clasificar resulten evidentes. A continuación, utilice esta configuración óptima en la función ráster Extender para mejorar las imágenes para conseguir resultados óptimos y especifique el Tipo de píxel de salida como 8 bit unsigned en la pestaña General.
La capa de salida de la función ráster Extender ejecutada anteriormente puede ser el Ráster de entrada de la herramienta Segmentación (desplazamiento medio).
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.
Sintaxis
SegmentMeanShift(in_raster, {spectral_detail}, {spatial_detail}, {min_segment_size}, {band_indexes})
Parámetro | Explicación | Tipo de datos |
in_raster | Seleccione el dataset ráster que desee segmentar. Puede ser una imagen multiespectral o en escala de grises. | Raster Layer; Mosaic Layer |
spectral_detail (Opcional) | Especifica el nivel de importancia dado a las diferencias espectrales de las entidades de las imágenes. Los valores válidos varían de 1,0 a 20,0. Un valor más alto es adecuado cuando se dispone de entidades que se desea clasificar por separado, pero tienen características espectrales parecidas. Los valores más bajos crean salidas más uniformes espectralmente. Por ejemplo, un mayor detalle espectral en una escena boscosa consigue una mayor discriminación entre las especies de árboles. | Double |
spatial_detail (Opcional) | Especifica el nivel de importancia dado a la proximidad de las entidades de las imágenes. Los valores válidos varían de 1,0 a 20. Un valor más elevado es adecuado para una escena donde las entidades de interés son pequeñas y están agrupadas. Los valores más pequeños crean salidas más uniformes espacialmente. Por ejemplo, en una escena urbana, podría clasificar una superficie impermeable utilizando un menor detalle espacial o podría clasificar edificios y carreteras como clases separadas utilizando un detalle espacial mayor. | Long |
min_segment_size (Opcional) | Fusiona segmentos más pequeños que este tamaño con su segmento vecino que mejor se ajuste. Está relacionado con la unidad cartográfica mínima de su proyecto. Las unidades están en píxeles. | Long |
band_indexes (Opcional) | Seleccione las bandas que desee utilizar para segmentar las imágenes, separadas por un espacio. Si no se especifica ningún índice de banda, se eligen basándose en los siguientes criterios:
El orden de las bandas no altera el resultado. Desea seleccionar bandas que ofrecen la mayor diferenciación entre las entidades de interés. | String |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_raster_dataset | Especifique un nombre y una extensión válida para el dataset de salida. Si la entrada era una imagen multiespectral, la salida será una imagen RGB de 8 bits. Si la entrada fuera una imagen en escala de grises, la salida sería una imagen de escala de grises de 8 bits. | Raster |
Muestra de código
Ejemplo 1 de SegmentMeanShift (ventana de Python)
Este ejemplo crea una salida con un tamaño de segmento mínimo de 20, utilizando entradas de infrarrojo cercano, rojo y verde.
import arcpy
from arcpy.sa import *
seg_raster = SegmentMeanShift("c:/test/moncton.tif", "15", "10", "20", "4 3 2")
seg_raster.save("c:/test/moncton_seg.tif")
Ejemplo 2 de SegmentMeanShift (script independiente)
En este ejemplo se realiza un SegmentMeanShift para crear una salida con un tamaño de segmento mínimo de 20, utilizando entradas de infrarrojo cercano, rojo y verde.
# Import system modules
import arcpy
from arcpy.sa import *
# Set local variables
inRaster = "c:/test/moncton.tif"
spectral_detail = "14.5"
spatial_detail = "10"
min_segment_size = "20"
band_indexes = "4 3 2"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
seg_raster = SegmentMeanShift(inRaster, spectral_detail, spatial_detail,
min_segment_size, band_indexes)
# Save the output
seg_raster.save("c:/output/moncton_seg.tif")
Entornos
Información de licenciamiento
- Basic: Requiere Spatial Analyst
- Standard: Requiere Spatial Analyst
- Advanced: Requiere Spatial Analyst