Mit der Image Analyst-Lizenz verfügbar.
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.
Syntax
SegmentMeanShift(in_raster, {spectral_detail}, {spatial_detail}, {min_segment_size}, {band_indexes}, {max_segment_size})
Parameter | Erklärung | Datentyp |
in_raster | Das zu segmentierende Raster-Dataset. Dies kann ein multispektrales oder ein Graustufenbild sein. | Mosaic Layer; Raster Layer |
spectral_detail (optional) | Die Gewichtung der spektralen Unterschiede von Features in Ihren Bilddaten. 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 getrennt klassifiziert werden müssen, 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 Baumarten. | Double |
spatial_detail (optional) | Die Gewichtung der Nähe zwischen Features in Ihren Bilddaten. 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) | Die minimale Größe eines Segments. 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) | Die Bänder, die für die Segmentierung der Bilddaten verwendet werden, getrennt durch eine Leerstelle. Sind keine Bandindizes angegeben, werden sie nach folgenden Kriterien bestimmt:
Die Bandreihenfolge hat keinen Einfluss auf das Ergebnis. Wählen Sie Bänder aus, die die größte Differenzierung zwischen den relevanten Features bieten. | String |
max_segment_size (optional) | Die maximale Größe eines Segments. Segmente, die größer als die angegebene Größe sind, werden geteilt. Verwenden Sie diesen Parameter, um Artefakte im Ausgabe-Raster zu verhindern, die sich durch große Segmente ergeben. Einheiten werden in Pixel angegeben. Der Standardwert ist -1. Er bedeutet, dass die Segmentgröße nicht begrenzt ist. | Long |
Rückgabewert
Name | Erklärung | 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
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.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
seg_raster = SegmentMeanShift("c:/test/moncton.tif", "15", "10",
"20", "4 3 2")
seg_raster.save("c:/test/moncton_seg.tif")
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.ia import *
"""
Usage: SegmentMeanShift(in_raster, {spectral_detail}, {spatial_detail},
{min_segment_size}, {band_indexes})
"""
# 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 Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# 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
- Basic: Erfordert Image Analyst oder Spatial Analyst
- Standard: Erfordert Image Analyst oder Spatial Analyst
- Advanced: Erfordert Image Analyst oder Spatial Analyst