Spatial Analyst のライセンスで利用可能。
サマリ
類似するスペクトル特性を持つ隣接ピクセルを一緒にグループ化することで、画像内のフィーチャまたはセグメントを識別します。対象のフィーチャを抽出するために、空間とスペクトルのスムージングの量を調整することができます。
使用法
入力として、Esri がサポートし、有効なビット深度を持つ任意のラスターを指定できます。
[バンド インデックス] パラメーターは、スペースで区切られた 3 つのバンドのリストです。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
SegmentMeanShift (in_raster, {spectral_detail}, {spatial_detail}, {min_segment_size}, {band_indexes})
パラメータ | 説明 | データ タイプ |
in_raster | セグメント化するラスター データセットを選択します。マルチスペクトル画像またはグレースケール画像を指定できます。 最適な結果を得るには、分類対象の地物がはっきりと見えるように、データセット プロパティの [シンボル] タブを使用して画像を対話的にストレッチします。その後、[ストレッチ] ラスター関数でこれらと同じ設定を使用して画像を強調し、データを最適化します。 | Raster Dataset | Mosaic Dataset | Raster Layer | Mosaic Layer | Image Service Layer |
spectral_detail (オプション) | 画像内の地物のスペクトル差に与える重要度を設定します。 有効な値の範囲は 1.0 〜 20.0 です。別々に分類したい地物が存在するが、それらのスペクトル特性がやや類似している場合は、高い値が適しています。小さい値を指定すると、スペクトル的に滑らかな出力が作成されます。たとえば、森林に覆われたシーンで [スペクトル詳細度] を高くすると、個々の樹木をはっきりと区別できるようになります。 | Double |
spatial_detail (オプション) | 画像内の地物間の近接性に与える重要度を設定します。 有効な値の範囲は 1 〜 20 です。対象の地物が小さく、一緒にクラスタリングされているシーンの場合、高い値が適しています。小さい値を指定すると、空間的に滑らかな出力が作成されます。たとえば、都市のシーンでは、小さい [空間的詳細度] を使用して不透水性の地表を分類したり、高い [空間的詳細度] を使用して建物や道路を個別のクラスとして分類できます。 | Long |
min_segment_size (オプション) | このサイズよりも小さいセグメントを、最もよく適合する隣接セグメントとマージします。 単位はピクセルです。 | Long |
band_indexes (オプション) | 画像をセグメント化するために使用するバンドをスペース区切りで指定します。 対象の地物間に最も差異をもたらすバンドを選択します。 | String |
戻り値
名前 | 説明 | データ タイプ |
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 (スタンドアロン スクリプト)
次の例では、近赤外、赤、緑の入力を使用してセグメント平均シフトを実行し、最小セグメント サイズが 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"
# 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")
環境
ライセンス情報
- ArcGIS for Desktop Basic: 次のものが必要 Spatial Analyst
- ArcGIS for Desktop Standard: 次のものが必要 Spatial Analyst
- ArcGIS for Desktop Advanced: 次のものが必要 Spatial Analyst