Disponible avec une licence Spatial Analyst.
Résumé
Regroupe en segments les pixels adjacents qui possèdent des caractéristiques spectrales similaires.
Utilisation
L’entrée peut être n’importe quel raster pris en charge par Esri, avec n’importe quelle profondeur de bit.
Le paramètre Index de canal est une liste de trois canaux, chacun étant séparés par un espace.
Pour optimiser les résultats, utilisez l'onglet Symbologie dans les propriétés du jeu de données afin d'étirer interactivement votre raster en entrée et de rendre apparentes les entités que vous voulez classer. Puis, utilisez ces paramètres optimaux dans la fonction raster Stretch pour obtenir le meilleur résultat avec votre image, et précisez le Output Pixel Type (Type de pixel en sortie) comme 8 bit unsigned dans l'onglet General.
La couche de sortie de la fonction raster Stretch exécutée précédemment peut être le Input Raster (Raster d'entrée) pour l'outil Segment Mean Shift (Décalage moyen de segment).
Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.
Syntaxe
SegmentMeanShift(in_raster, {spectral_detail}, {spatial_detail}, {min_segment_size}, {band_indexes})
Paramètre | Explication | Type de données |
in_raster | Sélectionnez le jeu de données raster que vous voulez segmenter. Il peut s'agir d'une image multispectrale ou en nuances de gris. | Raster Layer; Mosaic Layer |
spectral_detail (Facultatif) | Spécifie le niveau d’importance donné aux différences spectrales des entités de vos images. Les valeurs correctes sont comprises entre 1.0 et 20.0. Une valeur supérieure convient si vous avez des entités à classer séparément, mais qui possèdent des caractéristiques spectrales similaires. Des valeurs inférieures engendrent des sorties plus lisses spectralement. Par exemple, avec des détails spectraux supérieurs dans une zone forestière, la distinction entre les espèces d’arbres sera plus précise. | Double |
spatial_detail (Facultatif) | Spécifie le niveau d’importance donné à la proximité entre les entités dans vos images. Les valeurs correctes sont comprises entre 1.0 et 20. Une valeur plus élevée convient à une scène dans laquelle toutes les entités présentant un intérêt sont petites et agrégées. Des valeurs inférieures engendrent des sorties plus lisses spatialement. Par exemple, dans une scène urbaine, vous pouvez classer une surface imperméable à l'aide d'un détail spatial plus petit ou classer des bâtiments et des routes en tant que classes séparées à l'aide d'un détail spatial supérieur. | Long |
min_segment_size (Facultatif) | Combinez les segments dont la taille est inférieure à celle-ci avec leur segment voisin le mieux adapté. Ceci dépend de l'unité de cartographie de votre projet. Les unités sont les pixels. | Long |
band_indexes (Facultatif) | Sélectionnez les canaux que vous souhaitez utiliser pour segmenter votre imagerie, en les séparant par un espace. Si aucun index de canal n'est spécifié, ils sont sélectionnés selon les critères suivants :
L'ordre des bandes ne change pas le résultat. Il est préférable de sélectionner des canaux qui offrent la différenciation la plus forte entre les entités présentant un intérêt. | String |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster_dataset | Spécifiez un nom et une extension pour le jeu de données en sortie. Si votre entrée était une image multispectrale, la sortie sera une image RVB 8 bits. Si l'entrée était une image en nuances de gris, la sortie sera une image en nuances de gris 8 bits. | Raster |
Exemple de code
Exemple 1 d'utilisation de l'outil SegmentMeanShift (fenêtre Python)
Cet exemple crée une sortie avec une taille de segment minimum de 20, à l'aide des entrées proches de l'infrarouge, rouges et vertes.
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")
Exemple 2 d'utilisation de l'outil SegmentMeanShift (script autonome)
Cet exemple effectue un décalage moyen de segment (SegmentMeanShift) pour créer une sortie avec une taille de segment minimum de 20, à l'aide des entrées proches de l'infrarouge, rouges et vertes.
# 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")
Environnements
Informations de licence
- Basic: Requiert Spatial Analyst
- Standard: Requiert Spatial Analyst
- Advanced: Requiert Spatial Analyst