Mean Shift 影像分割 (Spatial Analyst)

获得 Image Analyst 许可后可用。

需要 Spatial Analyst 许可。

描述

将相邻并具有相似光谱特征的像素组合到一个分割块中。

使用方法

  • 输入可以是任意 Esri 支持的栅格,可具有任意有效的位深度。

  • 波段索引参数是以空格分隔符分隔的三个波段的列表。

  • 要获得最佳结果,请使用数据集属性中的符号系统选项卡交互拉伸输入栅格,从而使得您希望分类的要素变得清晰明了。然后使用拉伸栅格函数中的这些最佳设置增强影像以便获得最佳结果,并从常规选项卡将输出像素类型指定为 8 bit unsigned

    先前执行的拉伸栅格函数中的输出图层可以是Mean Shift 影像分割工具的输入栅格

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

语法

SegmentMeanShift(in_raster, {spectral_detail}, {spatial_detail}, {min_segment_size}, {band_indexes}, {max_segment_size})
参数说明数据类型
in_raster

要分割的栅格数据集。它可以是多光谱影像或灰度影像。

Mosaic Layer; Raster Layer
spectral_detail
(可选)

指定为影像中要素的光谱差异的重要性级别。

值的有效范围从 1.0 到 20.0。如果具有要单独分类的要素且其光谱特性相似,则适合使用较高的值。值越小,创建的光谱性输出越平滑。例如,在森林场景中使用的光谱详细级别越高,树种之间的差异就越大。

Double
spatial_detail
(可选)

指定为影像中要素之间的邻近性的重要性级别。

值的有效范围从 1.0 到 20。如果感兴趣要素小且聚集在一起,则适合使用较高的值。值越小,创建的空间性输出越平滑。例如在市区场景中,您可以使用较小的空间详细级别对不敏感的地表进行分类,也可以使用较高的空间详细级别将建筑物和道路归为不同的类。

Long
min_segment_size
(可选)

最小分割大小。将小于此大小的分割与其最适合的邻近分割合并。这与工程的最小制图单位有关。

单位为像素。

Long
band_indexes
(可选)

用于分割影像的波段,以空格分隔。如果未指定波段索引,则按照以下标准进行确定:

  • 如果栅格仅有 3 个波段,则使用这 3 个波段
  • 如果栅格具有 3 个以上波段,则工具将根据栅格的属性分配红色、绿色和蓝色波段。
  • 如果栅格数据集的属性中未标识红色、绿色和蓝色波段,则使用波段 1、2 和 3。

波段顺序不会对结果产生影响。

选择最能区分感兴趣要素的波段。

String
max_segment_size
(可选)

最大分割大小。将分割大于指定大小的分割。使用此参数可防止较大分割在输出栅格中导致的伪影。

单位为像素。

默认值为 -1,表示不限制分割大小。

Long

返回值

名称说明数据类型
out_raster_dataset

为输出数据集指定名称和扩展名。

如果输入是一个多光谱影像,则输出将为 8 位的 RGB 影像。如果输入是一个灰度影像,则输出将为 8 位的灰度影像。

Raster

代码示例

SegmentMeanShift 示例 1(Python 窗口)

本示例将使用近红外、红色和绿色输入创建最小分割大小为 20 的输出。

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 示例 2(独立脚本)

本示例将使用近红外、红色和绿色输入执行 SegmentMeanShift 以创建最小分割大小为 20 的输出。

# 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"

# 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")

许可信息

  • Basic: 需要 Spatial Analyst 或 Image Analyst
  • Standard: 需要 Spatial Analyst 或 Image Analyst
  • Advanced: 需要 Spatial Analyst 或 Image Analyst

相关主题