Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Gruppiert benachbarte Pixel mit ähnlichen Spektraleigenschaften in Segmente.
Verwendung
Die Eingabe kann ein beliebiges von Esri unterstütztes Raster mit einer gültigen Bit-Tiefe sein.
Der Parameter Bandindex ist eine Liste von drei Bändern, die durch ein Leerzeichen getrennt sind.
Um optimale Ergebnisse zu erzielen, verwenden Sie die Registerkarte Symbolisierung in den Dataset-Eigenschaften, um Ihr Eingabe-Raster interaktiv zu strecken, sodass die Features, die Sie klassifizieren möchten, deutlich dargestellt werden. Nutzen Sie diese optimalen Einstellungen dann in der Raster-Funktion Strecken, um Ihre Bilddaten zu optimieren, und legen Sie auf der Registerkarte Allgemein für den Ausgabepixeltyp den Wert 8 bit unsigned fest.
Der Ausgabe-Layer der zuvor ausgeführten Raster-Funktion Strecken kann das Eingabe-Raster für das Werkzeug Mean Shift-Segmentierung sein.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
SegmentMeanShift (in_raster, {spectral_detail}, {spatial_detail}, {min_segment_size}, {band_indexes})
Parameter | Erläuterung | Datentyp |
in_raster | Wählen Sie das Raster-Dataset aus, das segmentiert werden soll. Dies kann ein multispektrales oder ein Graustufenbild sein. | Raster Layer; Mosaic Layer |
spectral_detail (optional) | Legt die Gewichtung der spektralen Unterschiede von Features in Ihren Bilddaten fest. Zulässig sind Werte im Bereich von 1.0 bis 20.0. Ein höherer Wert ist geeignet, wenn Sie über Features verfügen, die Sie getrennt klassifizieren möchten, die jedoch ähnliche spektrale Eigenschaften aufweisen. Kleinere Werte erstellen glattere spektrale Ausgaben. Eine detailliertere spektrale Waldszene ermöglicht beispielsweise eine größere Unterscheidung zwischen den verschiedenen Baumarten. | Double |
spatial_detail (optional) | Legt die Gewichtung der Nähe zwischen Features in Ihren Bilddaten fest. Zulässig sind Werte im Bereich von 1.0 bis 20. Ein höherer Wert ist für eine Szene geeignet, in der die Features Ihres Interesses klein und zusammengefasst sind. Kleinere Werte erstellen räumlich glattere Ausgaben. In einer städtischen Szene können Sie beispielsweise eine undurchdringliche Oberfläche mit einem kleineren räumlichen Detail klassifizieren, oder Sie können Gebäude und Straßen als getrennte Klassen mit einem höheren räumlichen Detail klassifizieren. | Long |
min_segment_size (optional) | Führt Segmente, die kleiner sind als diese Größe, mit dem am besten passenden Nachbarschaftssegment zusammen. Dies bezieht sich auf die minimale Kartenerstellungseinheit für Ihr Projekt. Einheiten werden in Pixel angegeben. | Long |
band_indexes (optional) | Wählen Sie die Bänder für die Segmentierung, getrennt durch eine Leerstelle aus. Sind keine Bandindizes angegeben, werden sie nach folgenden Kriterien ausgewählt:
Die Bandreihenfolge hat keinen Einfluss auf das Ergebnis. Sie können Bänder auswählen, die die größte Differenzierung zwischen den Features Ihres Interesses bieten. | String |
Rückgabewert
Name | Erläuterung | Datentyp |
out_raster_dataset | Geben Sie einen Namen und eine Ausdehnung für das Ausgabe-Dataset an. Wenn als Eingabe ein multispektrales Bild verwendet wurde, ist die Ausgabe ein 8-Bit-RGB-Bild. Wenn als Eingabe ein Graustufenbild verwendet wurde, ist die Ausgabe ein 8-Bit-Graustufenbild. | Raster |
Codebeispiel
SegmentMeanShift – Beispiel 1 (Python-Fenster)
In diesem Beispiel wird eine Ausgabe mit einer minimalen Segmentgröße von 20 mit nahinfraroten, roten und grünen Eingaben erstellt.
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")
SegmentMeanShift – Beispiel 2 (eigenständiges Skript)
In diesem Beispiel wird eine SegmentMeanShift durchgeführt, um eine Ausgabe mit nahinfraroten, roten und grünen Eingaben zu erstellen.
# 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")
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert Spatial Analyst
- ArcGIS Desktop Standard: Erfordert Spatial Analyst
- ArcGIS Desktop Advanced: Erfordert Spatial Analyst