Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Identifizieren von Features oder Segmenten in Ihren Bilddaten durch Gruppieren benachbarter Pixel, die ähnliche Spektraleigenschaften aufweisen. Zur besseren Ableitung von interessanten Features können Sie die Stärke der räumlichen und spektralen Glättung selbst bestimmen.
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.
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. Um optimale Ergebnisse zu erzielen, verwenden Sie die Registerkarte Symbologie in den Dataset-Eigenschaften, um Ihre Bilddaten interaktiv zu strecken, sodass die Features, die Sie klassifizieren möchten, deutlich dargestellt werden. Verwenden Sie anschließend diese optimalen Einstellungen in der Funktion zum Strecken von Rastern, um Ihre Bilddaten zur Erzielung optimaler Ergebnisse zu verbessern. | 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. Gültige Werte reichen von eins 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. Einheiten werden in Pixel angegeben. | Long |
band_indexes (optional) | Wählen Sie die Bänder aus, die Sie verwenden möchten, um Ihre Bilddaten durch eine Leerstelle getrennt segmentieren möchten. 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 Mean Shift-Segmentierung 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, min_segment_size)
# 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