Сегментация методом среднего сдвига (Image Analyst)

Доступно с лицензией Image Analyst.

Доступно с лицензией Spatial Analyst.

Сводка

Группирует по сегментам сходные пикселы, у которых похожи спектральные характеристики.

Использование

  • Входными данными может быть любой поддерживаемый Esri растр с любой глубиной пикселов.

  • Параметр Индекс каналов представляет собой список из трех каналов, разделенных пробелом.

  • Для достижения оптимального результата, используйте вкладку Символы в свойствах набора данных для интерактивной растяжки вашего Входного растра, чтобы объекты, которые вы хотите выделить в сегмент, были отчетливо видны. Затем используйте оптимальные настройки растровой функции Растяжка для обработки вашего изображения для получения оптимального результата и укажите Выходной тип пиксела как 8 bit unsigned на вкладке Общие.

    Выходной слой из ранее выполненной функции Растяжка может быть Входным растром инструмента Сегментация методом среднего сдвига.

Синтаксис

SegmentMeanShift(in_raster, {spectral_detail}, {spatial_detail}, {min_segment_size}, {band_indexes}, {max_segment_size})
ParameterОбъяснениеТип данных
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х каналов, инструмент назначит красный, зеленый и синий каналы в соответствии со свойствами растра.
  • Если красный, зеленый и синий каналы не идентифицируются свойствами набора растровых данных, будут использованы каналы 1, 2 и 3.

Порядок каналов не влияет на результат.

Выберите каналы, обеспечивающие наибольшие различия между между интересующими вас объектами.

String
max_segment_size
(Дополнительный)

Максимальный размер сегмента. Сегменты больше указанного размера будут разделены. Используйте этот параметр для предотвращения артефактов в выходном растре, появляющихся от больших сегментов.

Единицы измерения в пикселах.

Значением по умолчанию является -1, что означает отсутствие ограничений на размер сегмента.

Long

Значение отраженного сигнала

NameОбъяснениеТип данных
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 or Spatial Analyst
  • Standard: Требуется Image Analyst or Spatial Analyst
  • Advanced: Требуется Image Analyst or Spatial Analyst

Связанные разделы