训练 ISO 聚类分类器 (Image Analyst)

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

描述

使用 Iso 聚类分类定义生成 Esri 分类器定义文件 (.ecd)。

此工具用于执行非监督分类。

使用方法

  • 任何 Esri 支持的栅格都可用作输入,包括栅格产品、分割栅格、镶嵌、影像服务或通用栅格数据集。分割栅格必须为 8 位 3 波段栅格。

  • 仅在其中一个栅格图层输入为分割影像的情况下启用分割属性参数。

语法

TrainIsoClusterClassifier(in_raster, max_classes, out_classifier_definition, {in_additional_raster}, {max_iterations}, {min_samples_per_cluster}, {skip_factor}, {used_attributes}, {max_merge_per_iter}, {max_merge_distance})
参数说明数据类型
in_raster

待分类的栅格数据集。

Raster Layer; Mosaic Layer; Image Service; String
max_classes

分组像素或分割影像时所需的最大类数。此参数应设置为大于图例中类的数量。

您获取的要素类可能会少于此参数中指定的数量。如果需要更多要素类,可在训练过程结束后增加此值并聚集类。

Long
out_classifier_definition

包含属性信息、统计数据、超平面矢量和分类器所需的其他信息的输出 JSON 文件。将创建一个 .ecd 文件。

File
in_additional_raster
(可选)

将整合辅助栅格数据集(如多光谱影像或 DEM),从而为分类生成属性和其他所需信息。设置此参数属于可选操作。

Raster Layer; Mosaic Layer; Image Service; String
max_iterations
(可选)

聚类过程将运行的最大迭代次数。

推荐迭代次数范围为 10 到 20 之间。增加此值将会使处理时间呈线性增加。

Long
min_samples_per_cluster
(可选)

一个有效聚类或类中的最小像素数或分割数。

默认值 20 对于创建具有统计显著性的类有效。可增加这一数值以获得更可靠的类;但是,这样可能会限制所创建类的总数。

Long
skip_factor
(可选)

像素影像输入所需跳过的像素数。如果输入是分割影像,则请指定要跳过的分割数。

Long
used_attributes
[used_attributes;used_attributes,...]
(可选)

指定要包括在与输出栅格相关联的属性表中的属性。

  • COLORRGB 颜色值可基于每个分割从输入栅格获取。
  • MEAN基于每个分割,从可选像素图像中获取的平均数字值 (DN)。
  • STD基于每个分割,从可选像素图像中获取的标准差。
  • COUNT基于每个分割,构成分割的像素数。
  • COMPACTNESS基于每个分割,决定分隔为紧凑型还是圆形的度数。值的范围从 0 到 1,1 表示圆形。
  • RECTANGULARITY基于每个分割,决定分隔为矩形的度数。值的范围从 0 到 1,1 表示矩形。

如果在输入栅格上将分割关键属性设置为 true 时,则仅启用此参数。如果仅对此工具输入分割影像,则默认属性为 COLORCOUNTCOMPACTNESSRECTANGULARITY。如果将 in_additional_raster 作为输入与分割影像一起添加进来,则还可以使用 MEANSTD 属性。

String
max_merge_per_iter
(可选)

每个迭代的最大聚类合并数。增加合并的数量将减少所创建的类。较小值将生成较多的类。

Long
max_merge_distance
(可选)

要素空间中聚类中心间的最大距离。增加距离将允许更多的聚类合并,从而生成较少的类。较小值将生成较多的类。值 0 到 5 可返回最佳结果。

Double

代码示例

TrainIsoClusterClassifier 示例 1(Python 窗口)

以下 Python 窗口脚本使用 ISO 聚类分类器创建最多含十个类的非监督 Esri 分类定义文件。

import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

TrainIsoClusterClassifier("c:/test/moncton_seg.tif", "10", 
                "c:/output/moncton_sig_iso.ecd","c:/test/moncton.tif", 
                "5", "10", "2", "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
TrainIsoClusterClassifier 示例 2(独立脚本)

此脚本示例使用 ISO 聚类分类器创建最多含十个类的非监督 Esri 分类定义文件。

# Import system modules
import arcpy
from arcpy.ia import *

"""Usage: TrainIsoClusterClassifier(in_raster, max_num_classes, 
                out_classifier_definition, {in_additional_raster}, 
                {max_num_iterations}, {min_num_samples_per_cluster}, 
                {skip_factor},{used_attributes})

"""

# Set local variables
inSegRaster = "c:/test/moncton_seg.tif"
maxNumClasses = "10"
out_definition = "c:/output/moncton_sig_iso.ecd"
in_additional_raster = "moncton.tif"
maxIteration = "20"
minNumSamples = "10"
skipFactor = "5"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute 
TrainIsoClusterClassifier(inSegRaster, maxNumClasses, 
                out_definition,in_additional_raster, 
                maxIteration, minNumSamples, skipFactor, attributes)

许可信息

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

相关主题