セグメント平均シフト (Segment Mean Shift) (Image Analyst)

Image Analyst ライセンスで利用できます。

Spatial Analyst のライセンスで利用可能。

サマリー

類似したスペクトル特性を持つセグメント隣接ピクセルにグループ化します。

使用法

  • 入力として、Esri がサポートし、有効なビット深度を持つ任意のラスターを指定できます。

  • [バンド インデックス] パラメーターは、スペースで区切られた 3 つのバンドのリストです。

  • 最適な結果を得るには、分類対象の地物がはっきりと見えるように、データセット プロパティの [シンボル] タブを使用して [入力ラスター] を対話的にストレッチします。次に、[ストレッチ] ラスター関数の最適な設定を使用して画像を改善し、結果を最適化します。[一般] タブから [出力ピクセル タイプ]8 bit unsigned に指定します。

    以前に実行した [ストレッチ] ラスター関数からの出力レイヤーを [セグメント平均シフト (Segment Mean Shift)] ツールの [入力ラスター] にすることができます。

パラメーター

ラベル説明データ タイプ
入力ラスター

セグメント化するラスター データセット。マルチスペクトル画像またはグレースケール画像を指定できます。

Mosaic Layer; Raster Layer
スペクトル詳細度
(オプション)

画像内のフィーチャのスペクトル差に与える重要度。

有効な値の範囲は 1.0 ~ 20.0 です。 別々に分類すべきフィーチャが存在し、それらのスペクトル特性が類似している場合は、高い値が適しています。 小さい値を指定すると、スペクトル的に滑らかな出力が作成されます。 たとえば、森林に覆われたシーンで [スペクトル詳細度] を高くすると、樹木をはっきりと区別できるようになります。

Double
空間的詳細度
(オプション)

画像内のフィーチャ間の近接性に与える重要度。

有効な値の範囲は 1.0 ~ 20 です。 対象のフィーチャが小さく、一緒にクラスタリングされているシーンの場合、高い値が適しています。 小さい値を指定すると、空間的に滑らかな出力が作成されます。 たとえば、都市のシーンでは、[空間的詳細度] を低くして不透水性の地表を分類したり、[空間的詳細度] を高くして建物や道路を個別のクラスとして分類したりすることができます。

Long
最小セグメント サイズ (ピクセル)
(オプション)

セグメントの最小サイズ。このサイズよりも小さいセグメントを、最もよく適合する隣接セグメントとマージします。これは、プロジェクトの最小マッピング単位に関連しています。

単位はピクセルです。

Long
バンド インデックス
(オプション)

画像をセグメント化するために使用する、スペースで区切られたバンド。バンド インデックスが指定されない場合、次の条件で決定されます。

  • ラスターのバンドが 3 つのみの場合、この 3 つが使用されます。
  • ラスターのバンドが 3 つより多い場合、ラスターのプロパティに従って、ツールが、赤、緑、青のバンドを割り当てます。
  • ラスター データセットのプロパティで、赤、緑、青のバンドが指定されていない場合、1、2、3 のバンドが使用されます。

バンドの順序で結果が変わることはありません。

対象の地物間に最も差異をもたらすバンドを選択します。

String
最大セグメント サイズ (ピクセル)
(オプション)

セグメントの最大サイズ。指定されたサイズよりも大きいセグメントは分割されます。このパラメーターを使用して、大きいセグメントによる出力ラスターの劣化を防ぎます。

単位はピクセルです。

デフォルト値は -1 です。これは、セグメント サイズの制限がないことを意味します。

Long

戻り値

ラベル説明データ タイプ
出力ラスター データセット

出力データセットの名前と拡張子を指定します。

マルチスペクトル画像を入力した場合、出力は 8 ビット RGB 画像になります。グレースケール画像を入力した場合、出力は 8 ビット グレースケール画像になります。

Raster

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.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")
SegmentMeanShift (セグメント平均シフト) の例 2 (スタンドアロン スクリプト)

次の例では SegmentMeanShift を実行して、近赤外、赤、緑の入力を使用し、最小セグメント サイズが 20 の出力を作成しています。

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

ライセンス情報

  • Basic: 次のものが必要 Image Analyst または Spatial Analyst
  • Standard: 次のものが必要 Image Analyst または Spatial Analyst
  • Advanced: 次のものが必要 Image Analyst または Spatial Analyst

関連トピック